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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
dmnlk
August 03, 2018
Technology
0
490
この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.9k
New Relicを全社導入するときに必要なこと / 20221213_NRUG_newrelic
dmnlk
0
160
NewRelicプラットフォームを使ったオブザーバビリティ入門 / phpcon2020jp-observability
dmnlk
0
1.4k
プロダクトファーストに価値を創造するエンジニアとしての生き方 / Product first Engineering
dmnlk
6
4.2k
Other Decks in Technology
See All in Technology
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
230
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
0
130
MCPでつなぐElasticsearchとLLM - 深夜の障害対応を楽にしたい / Bridging Elasticsearch and LLMs with MCP
sashimimochi
0
160
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.3k
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
220
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
210
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
460
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.8k
What happened to RubyGems and what can we learn?
mikemcquaid
0
290
Data Hubグループ 紹介資料
sansan33
PRO
0
2.7k
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
560
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
350
Featured
See All Featured
Technical Leadership for Architectural Decision Making
baasie
1
240
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Believing is Seeing
oripsolob
1
54
Facilitating Awesome Meetings
lara
57
6.8k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
180
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
300
The Language of Interfaces
destraynor
162
26k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
160
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Building Adaptive Systems
keathley
44
2.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
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ʹͳΔ͔Β ఔʑʹ!!!