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
このCircle CIがすごい 中央線Meetup #1 /circle ci sugoi
Search
dmnlk
August 03, 2018
Technology
0
450
このCircle CIがすごい 中央線Meetup #1 /circle ci sugoi
中央線Meetup #1 で使う資料です
dmnlk
August 03, 2018
Tweet
Share
More Decks by dmnlk
See All by dmnlk
New Relicを全社導入するときに必要なこと / 20221213_NRUG_newrelic
dmnlk
0
56
NewRelicプラットフォームを使ったオブザーバビリティ入門 / phpcon2020jp-observability
dmnlk
0
1.2k
プロダクトファーストに価値を創造するエンジニアとしての生き方 / Product first Engineering
dmnlk
6
3.9k
Other Decks in Technology
See All in Technology
実は強い 非ViTな画像認識モデル
tattaka
3
1.4k
どちらかだけじゃもったいないかも? ECSとEKSを適材適所で併用するメリット、運用課題とそれらの対応について
tk3fftk
2
240
AWSアカウントのセキュリティ自動化、どこまで進める? 最適な設計と実践ポイント
yuobayashi
7
960
【内製開発Summit 2025】イオンスマートテクノロジーの内製化組織の作り方/In-house-development-summit-AST
aeonpeople
2
1.1k
アジャイルな開発チームでテスト戦略の話は誰がする? / Who Talks About Test Strategy?
ak1210
1
660
Two Blades, One Journey: Engineering While Managing
ohbarye
4
2.3k
IAMポリシーのAllow/Denyについて、改めて理解する
smt7174
2
210
Global Databaseで実現するマルチリージョン自動切替とBlue/Greenデプロイ
j2yano
0
140
OPENLOGI Company Profile for engineer
hr01
1
20k
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
330
"TEAM"を導入したら最高のエンジニア"Team"を実現できた / Deploying "TEAM" and Building the Best Engineering "Team"
yuj1osm
1
230
プルリクエストレビューを終わらせるためのチーム体制 / The Team for Completing Pull Request Reviews
nekonenene
1
210
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Git: the NoSQL Database
bkeepers
PRO
428
65k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
13
1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Typedesign – Prime Four
hannesfritz
41
2.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Navigating Team Friction
lara
183
15k
How to Ace a Technical Interview
jacobian
276
23k
Fireside Chat
paigeccino
35
3.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
Transcript
͜ͷCircleCI͕͍͢͝ தԝઢMeetup #1 @dmnlk
୭ʁ • dmnlk • ौ୩ͷWebاۀͷόοΫΤϯυΤϯδχΞ • લ৬Java,ݱ৬PHPϝΠϯ,ͪΐͬͱGolang • Πϯϑϥ৮Γ·͢
தԝઢͱΘͨ͠ • 201711݄͔ΒԮࡏॅ • ͜ͷձ͔Βెา5minݍ • ԮબΜͩͷ͍͍ҿΈ͕ଟͦ͏͔ͩΒ… • ߴԁࣉɾத͋ͨΓͰͨ·ʹҿΜͰ͍·͢
ຊʹೖΔલʹ
None
CakeFest2019 ຊͰ։࠵ܾఆ
CakeFestͱ • PHPͷWebApplicationFrameworkͰ͋ΔCakePHPʹϑΥʔΧεͨ͠ ΧϯϑΝϨϯε • 2018ΞϝϦΧ։࠵༧ఆ͚ͩͬͨͲॾࣄͰ։࠵ͤͣ • 2019ͷ։࠵ީิʹຊ্͕͕͍ͬͯͨ • ථͰຊʹ։࠵ܾఆ
• ίΞνʔϜຊʹདྷͯ͘ΕΔͣ • Laravelʹෛ͚ΔͳؤுΕCakePHPʢฐࣾͰ࠾༻͍ͯ͠·͢ʣ
ຊ
None
CircleCIͱ • SaaSܕͷCIαʔϏε • Continuous IntegrationΛߦ͏ • push͞ΕΔʹTestΛ࣮ߦͱ͔ • ωΠςΟϒΞϓϦͷϏϧυͱ͔
• ྨࣅSaaSʹTravisCI,ShippableͳͲ
CircleCIͷಛ • 1ܥͱ2ܥ͕͋Δ͕ɺ1ܥ͋ͱ1ϲ݄Ͱࢮ͵ͷͰׂѪ • .circleci/config.ymlʹYAMLͰjobͷఆٛΛॻ͘ • Docker imageΛར༻ͯ͠jobΛ࣮ߦ͢Δ • ແྉ͋Γprivate
repoͰར༻Ͱ͖ΔͷͰ͓ࢼ͍͢͠ • Dockerͷ͕ࣝଟগ͍ΔͷͰ࠷ॳͱ͖ͬͭͮΒ͍͔ • macOSίϯςφ͋ΔͷͰiOSΞϓϦͷϏϧυʹ͑·͢ʢແྉͳ ͠
Jenkinsʹ͍ͭͯ • લ৬ͰΦϯϓϨαʔόʔʹJenkins • Jenkinsࣗମͷϝϯςφϯε͕ਏ͍ • ؾͮ͘ͱϝϞϦ৯͍͗ͯ͢ࢮΜͰΔͱ͔ • CIͷઃఆ͕GUIͰॻ͍͍ͯ͘ɻίʔυཧग़དྷͳ͍ •
Jenkins2ܥͩͱύΠϓϥΠϯΛίʔυఆٛͰ͖Δ • ϓϥάΠϯ๛ͳͷར
config.ymlͷαϯϓϧ version: 2 jobs: build: docker: - image: circleci/<language>:<version TAG>
steps: - checkout - run: <command> test: docker: - image: circleci/<language>:<version TAG> steps: - checkout - run: <command> workflows: version: 2 build_and_test: jobs: - build - test Ref https://circleci.com/docs/2.0/sample-config/
GitHubͰͷ࿈ܞόονϦ
CircleCIͷTips
ͦͷ1: CircleCI͕༻ҙͨ͠imageΛ͏ • DBͳͲDocker imageΛར༻͢Δඞཁ͕͋Δ • ී௨mysql:5.7ͷΑ͏ͳΦϑΟγϟϧimageΛ͍͕ͪ • ࣮CircleCI͕༻ҙͨ͠࠷దԽimage͕͋Δ •
circleci/mysqlͱࢦఆ͢Δ͚ͩͰ͘ͳΔʢ͍͢͝ • ଞʹ͋ΔͷͰࢼͯ͠ΈΔͱྑ͍(https://hub.docker.com/u/ circleci/)
ͦͷ2: jobؒͰϑΝΠϧΛड͚͢ • workflowΛར༻͢ΔͱෳͷjobΛฒྻʹ࣮ߦͰ͖ͨΓ͢Δ • ͔͠͠ιʔεͷcheckoutґଘϞδϡʔϧͷinstallͳͲͦ ΕͧΕΔඞཁ͕͋Δ • persist_to_workspaceͱattach_workspaceΛ͏͜ͱͰՌ ͷड͚͕͠Ͱ͖Δ
• ґଘؔͷղܾjobΛ࣮ߦͯ͠ɺϑϩϯτΤϯυͷtest jobͱ όοΫΤϯυͷtest jobʹड͚ͯ͠ฒྻtestͨ͠Γͱ͔
ͦͷ3: Schedule-WorkflowΛ͏ • ͜͜·ͰͷbuildܖػGitHubͷpush or खಈ • Schedule-Workflowͱ͍͏ػೳ͕͋Δ • ॴҦcron(࣮ࡍcronܗࣜͰॻ͘ʣ
• ࢝ۀલʹ࣌ؒͷ͔͔Δ੩తղੳjobΛಈ͔͢ • ఆظతʹϚελσʔλΛߋ৽͢Δ etc…
CircleCI͍͢͝ʂʂʂ ͕ʂ ͍͔͢͝Βͱ͍ͬͯ ͳΜͰΖ͏ͱ͢Δͱ yak shavingʹͳΔ͔Β ఔʑʹ!!!