Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CircleCI_Meetup3_LT
Search
Yasuhiroki
September 15, 2017
Programming
0
590
CircleCI_Meetup3_LT
Yasuhiroki
September 15, 2017
Tweet
Share
More Decks by Yasuhiroki
See All by Yasuhiroki
自分に勉強させるには
yasuhiroki
1
430
Android Studio `Command+Shift+A`
yasuhiroki
0
350
シェルスクリプトをサーバーレスで cron したい
yasuhiroki
1
830
rails new コマンド
yasuhiroki
1
760
自動化を習慣化する
yasuhiroki
2
15k
GitHub Actions Parallel Testing
yasuhiroki
1
1.3k
circleci.vim
yasuhiroki
0
1.6k
ベンチャー企業がCircleCIを選んだ理由と活用方法
yasuhiroki
1
810
Rubyの正規表現を調べてみた
yasuhiroki
0
870
Other Decks in Programming
See All in Programming
Code as Context 〜 1にコードで 2にリンタ 34がなくて 5にルール? 〜
yodakeisuke
0
100
A2A プロトコルを試してみる
azukiazusa1
2
1.1k
Systèmes distribués, pour le meilleur et pour le pire - BreizhCamp 2025 - Conférence
slecache
0
100
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
470
ruby.wasmで多人数リアルタイム通信ゲームを作ろう
lnit
2
250
Bytecode Manipulation 으로 생산성 높이기
bigstark
2
370
すべてのコンテキストを、 ユーザー価値に変える
applism118
2
710
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
480
Result型で“失敗”を型にするPHPコードの書き方
kajitack
4
270
KotlinConf 2025 現地で感じたServer-Side Kotlin
n_takehata
1
230
Team operations that are not burdened by SRE
kazatohiei
1
180
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
210
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Done Done
chrislema
184
16k
How GitHub (no longer) Works
holman
314
140k
Being A Developer After 40
akosma
90
590k
Agile that works and the tools we love
rasmusluckow
329
21k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
Code Review Best Practice
trishagee
68
18k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Building Applications with DynamoDB
mza
95
6.5k
It's Worth the Effort
3n
185
28k
Adopting Sorbet at Scale
ufuk
77
9.4k
Transcript
CircleCI 2.0 ฃಆه @yasuhiroki
Rails (ॳΊͯ) + CircleCI (ॳΊͯ) ΤϯδχΞͷฃಆه
ୈҰষ CircleCI 1.0 ͷ͜ͱΕΔ
CircleCI ͕ࣦഊ͍ͯ͠Δ
bundle install Ͱࣦഊ͍ͯ͠Δ
ͲΜͳॲཧΛ࣮ߦ͍ͯ͠ΔͷͩΖ͏ʁ
Կઃఆ͍ͯ͠ͳ͍
CircleCI 1.0 ͷΈ • CircleCIͱͷ࿈ܞΛࢼͦ͏ͱ͍ͯͨ͠Β͍͠ • ઌߦͯ͠ Android Λࢼ͍ͯͨ͠ •
CircleCI 1.0 ࣌ OOM ͰΑ͘ࢮ͵ • ຊ֨తͳ࿈ܞ৲ࠐΈ͍ͯͨ͠
CircleCI 1.0 ͷ͜ͱΕΔ • OOM ͰΑ͘ࢮ͵ͷ 1.0 ·Ͱ • CircleCI
1.0 ͷࠒʹ࠾༻ΛΜͰ͍ͨͳΒɺ CircleCI 2.0 ผͱͯ͠ݕ౼͢͠
ୈೋষ .circleci/config.yml
CircleCI ͱྑ͘ͳΓ͍ͨ
CircleCI ͱྑ͘ͳΓ͍ͨ
ॆ࣮ͷυΩϡϝϯτ
ࢥ͍͍ͭͨ͜ͱ͙͢ࢼ͢
શͯࢼ͢ʢͭΓͰ༡Ϳʣ
ͻͨ͢Βࢼ͢
ϏϧυࣦഊͷΑ͋͘ΔݪҼ • ઃఆϑΝΠϧͷߏจΤϥʔ • bundle install • XXXXX: command not
found git push ͢Δલʹؾ͖͘
खݩͰݕূͰ͖Δ CircleCI CLI
ެࣜͷྫ͕ͨ͘͞Μ͋Δ
CircleCI 2.0 ͱ࿈ܞྃ
ୈࡾষ ΑΓ͘
ͬͱྑ͘Ͱ͖Δ
docker-compose • ։ൃ Mac ͕ͩຊ൪αʔό Linux Mac Ͱ Linux
ͷಈ࡞֬ೝ͕͔ͨͬͨ͠ • ͔ͤͬ͘ docker-compose Λ࡞ͬͨͷͰɺ CircleCI Ͱ͏Α͏ʹ͍ͯͨ͠
CircleCI 2.0 Ͱ docker-compose Λ͏ʹ • ͬ͘͞ͱಈ͔͢ͳΒ `machine: true` Ϟʔυ
• docker ίϚϯυॳΊ͔Βೖ͍ͬͯΔ • docker-compose wget ͢Δ͚ͩ • खݩͰ͏ͷͱಉ͡ײ֮Ͱ͑Δ
CircleCI 2.0 ͷ docker image Ͱ docker-compose Λ͏ͱʁ • ϋϚϦϙΠϯτ͕ଟ͍
• Alpine Πϝʔδͩͱ wget ͚ͨͩ͠Ͱಈ͔ͳ͍ • docker daemon ͕Ͳ͜Ͱಈ͍͍ͯΔͷ͔ҙ͓ࣝͯ͘͠ ඞཁ͕͋Δ • ίϯςφͷ docker όʔδϣϯ͕৽ͯ͘͠ɺ docker daemon ผͰಈ͍͍ͯͯόʔδϣϯ͕ݹ͍
machine: true Ͱμϝʁ • ॳظىಈ͕͍ • ඞཁͳπʔϧΛࣗͰΠϯετʔϧ͠ͳ͚Ε ͳΒͳ͍ • yaml
ϑΝΠϧ͕ଠΔ
machine: true Ͱμϝʁ • Note: There is an overhead for
provisioning a machine executor and use of the machine key may require additional fees in a future pricing update. - https://circleci.com/docs/2.0/docker- compose/ • কདྷɺ՝ۚରʹͳΔ͔͠Εͳ͍
docker-compose ΛΊΔ
Docker ΠϝʔδΛ༻ҙ • CircleCIͰϏϧυ͢Δઐ༻ͷDockerΠϝʔδ Λ༻ҙ͢Δ • docker-compose Ͱ༻͢Δ DockerΠϝʔδͰྑ͍ͷͰ͍ճ͢
ܶతվળ
࣍ষ ͦͯ͠ DevOps …
ࣗݾհ
@yasuhiroki • Yasuhiro Kiyota @yasuhiroki • Certified Jenkins Engineer •
AWS ͷ DevOps ͬΆ͍ۀͯ͠·͢
A10 Lab inc. • ΤϯδχΞืूதͰ͢ʂ • Android, iOS, RoR, AWS
• ҰॹʹࣗಈԽΛ͢͢ΊΔ͕ؒཉ͍͠Ͱ͢ • https://a10lab.com/recruit/ • https://www.wantedly.com/companies/a10lab/projects
͓͠·͍