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
470
このCircle CIがすごい 中央線Meetup #1 /circle ci sugoi
中央線Meetup #1 で使う資料です
dmnlk
August 03, 2018
Tweet
Share
More Decks by dmnlk
See All by dmnlk
PHPバージョンアップから始めるOSSコントリビュート / how2oss-contribute
dmnlk
1
1.3k
New Relicを全社導入するときに必要なこと / 20221213_NRUG_newrelic
dmnlk
0
130
NewRelicプラットフォームを使ったオブザーバビリティ入門 / phpcon2020jp-observability
dmnlk
0
1.3k
プロダクトファーストに価値を創造するエンジニアとしての生き方 / Product first Engineering
dmnlk
6
4.1k
Other Decks in Technology
See All in Technology
三視点LLMによる複数観点レビュー
mhlyc
0
230
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
820
CDK Toolkit Libraryにおけるテストの考え方
smt7174
1
550
推し書籍📚 / Books and a QA Engineer
ak1210
0
140
LIXIL基幹システム刷新に立ち向かう技術的アプローチについて
tsukuha
1
380
Delegating the chores of authenticating users to Keycloak
ahus1
0
190
ロールが細分化された組織でSREは何をするか?
tgidgd
1
420
本当にわかりやすいAIエージェント入門
segavvy
1
400
サービスを止めるな! DDoS攻撃へのスマートな備えと最前線の事例
coconala_engineer
1
180
OpenTelemetryセマンティック規約の恩恵とMackerel APMにおける活用例 / SRE NEXT 2025
mackerelio
3
2k
今だから言えるセキュリティLT_Wordpress5.7.2未満を一斉アップデートせよ
cuebic9bic
2
170
「現場で活躍するAIエージェント」を実現するチームと開発プロセス
tkikuchi1002
3
350
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
BBQ
matthewcrist
89
9.7k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Side Projects
sachag
455
42k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
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ʹͳΔ͔Β ఔʑʹ!!!