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
410
この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
33
NewRelicプラットフォームを使ったオブザーバビリティ入門 / phpcon2020jp-observability
dmnlk
0
1.1k
プロダクトファーストに価値を創造するエンジニアとしての生き方 / Product first Engineering
dmnlk
6
3.7k
Other Decks in Technology
See All in Technology
サーバー管理しないサーバーサービスManaged DevOps Pool
kkamegawa
0
130
AIを活用した柔軟かつ効率的な社内リソース検索への取り組み
cygames
0
120
App Router を実プロダクトで採用して見えてきた勘所をちょっとだけ紹介
marokanatani
1
920
React Aria で実現する次世代のアクセシビリティ
ryo_manba
4
1.2k
なにもしてないのにNew Relicのデータ転送量が増えていたときに確認したこと
tk3fftk
2
220
忙しい人のためのLangGraph概要まとめ
__ymgc__
1
170
四国のあのイベントの〇〇システムを45日間で構築した話 / cloudohenro2024_tachibana
biatunky
0
330
技術的負債解消の取り組みと専門チームのお話
bengo4com
0
330
Swift Testingのconfirmationを コードリーディング/Dive into Swift Testing confirmation
laprasdrum
2
250
やってやろうじゃないかメカアジャイル! / Let's do it, mechanical agile!
psj59129
1
610
より快適なエラーログ監視を目指して
leveragestech
4
1.4k
Privacy Sandbox on Android / DroidKaigi 2024
7pairs
1
240
Featured
See All Featured
Building Adaptive Systems
keathley
36
2.1k
A Tale of Four Properties
chriscoyier
155
22k
Side Projects
sachag
451
42k
Optimising Largest Contentful Paint
csswizardry
30
2.8k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
Infographics Made Easy
chrislema
239
18k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
25
3.9k
Code Review Best Practice
trishagee
62
16k
What's in a price? How to price your products and services
michaelherold
242
11k
The Illustrated Children's Guide to Kubernetes
chrisshort
47
48k
GraphQLとの向き合い方2022年版
quramy
43
13k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
354
29k
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ʹͳΔ͔Β ఔʑʹ!!!