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
630
CircleCI_Meetup3_LT
Yasuhiroki
September 15, 2017
Tweet
Share
More Decks by Yasuhiroki
See All by Yasuhiroki
自分に勉強させるには
yasuhiroki
1
440
Android Studio `Command+Shift+A`
yasuhiroki
0
380
シェルスクリプトをサーバーレスで cron したい
yasuhiroki
1
880
rails new コマンド
yasuhiroki
1
830
自動化を習慣化する
yasuhiroki
2
15k
GitHub Actions Parallel Testing
yasuhiroki
1
1.3k
circleci.vim
yasuhiroki
0
1.8k
ベンチャー企業がCircleCIを選んだ理由と活用方法
yasuhiroki
1
840
Rubyの正規表現を調べてみた
yasuhiroki
0
950
Other Decks in Programming
See All in Programming
RAGでハマりがちな"Excelの罠"を、データの構造化で突破する
harumiweb
9
2.8k
SourceGeneratorのマーカー属性問題について
htkym
0
180
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
990
DSPy入門 Pythonで実現する自動プロンプト最適化 〜人手によるプロンプト調整からの卒業〜
seaturt1e
1
680
エラーログのマスキングの仕組みづくりに役立ったASTの話
kumoichi
0
180
Railsの気持ちを考えながらコントローラとビューを整頓する/tidying-rails-controllers-and-views-as-rails-think
moro
5
390
Codexに役割を持たせる 他のAIエージェントと組み合わせる実務Tips
o8n
3
1.3k
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜
kuro_kurorrr
3
1.9k
AI主導でFastAPIのWebサービスを作るときに 人間が構造化すべき境界線
okajun35
0
700
API Platformを活用したPHPによる本格的なWeb API開発 / api-platform-book-intro
ttskch
1
130
ロボットのための工場に灯りは要らない
watany
10
2.6k
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
140
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
780
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
A Soul's Torment
seathinner
5
2.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
310
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
The Cost Of JavaScript in 2023
addyosmani
55
9.8k
My Coaching Mixtape
mlcsv
0
69
Building AI with AI
inesmontani
PRO
1
790
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
160
The Language of Interfaces
destraynor
162
26k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
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
͓͠·͍