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 の歩き方 / CircleCI #phpstudy
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
TAKAHASHI Kunihiko
February 28, 2018
Technology
280
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CircleCI の歩き方 / CircleCI #phpstudy
第123回PHP勉強会@東京の資料です
TAKAHASHI Kunihiko
February 28, 2018
More Decks by TAKAHASHI Kunihiko
See All by TAKAHASHI Kunihiko
Apache から LiteSpeed に乗り換えてみませんか? / php-conference-japan-2019-track5-hello-litespeed
kunit
1
1.7k
Webアプリケーションエンジニアだった私がホスティング事業に興味を持った理由 / Fukuoka UIJ Turn gmo pepabo
kunit
0
550
アプリケーションエンジニアな私がホスティング業界に来て感じたあれこれ / ChugokuDB Vol27
kunit
0
660
Google App Engine PHP 7.2 を試してみる #phpstudy / google app engine php 7.2
kunit
1
1.1k
独立したコアレイヤパターンをためしてみる / try independent core layer pattern
kunit
3
1.1k
CircleCI 2.0 を使い倒そう / phpcon kansai 2018 circlci docker
kunit
7
2.8k
PHPのバージョンアップについてあれこれ / luncers lunch study 3 php version up
kunit
0
2.3k
CircleCI 2.0 をつかってみよう / CircleCI #phpcondo2017
kunit
0
750
Docker for Mac/Winってどうなの? / #fukuokaphp docker for mac and win
kunit
0
280
Other Decks in Technology
See All in Technology
AI Engineering Summit Tokyo 2026 AIの前に、やることがある 〜医療データ企業の4フェーズ〜
dtaniwaki
0
1.8k
JEP 522 Deep Dive - G1 GC同期コスト削減によるスループット向上を徹底検証&解説
tabatad
1
850
「コーディング」しない人のための Claude Code 入門 ChatGPT の次の一歩 — 業務に組み込む 育成・共有・自動化
rfdnxbro
2
1.2k
はじめてのDatadog
kairim0
0
280
LLMを「主役」にしないための 3つの原則
techtekt
PRO
0
120
新規事業を牽引する技術選定 〜フルスタックTypeScript開発の実践事例〜
nullnull
3
350
React、まだ楽しくて草
uhyo
7
4.1k
AI駆動開発が変える、大規模開発の前提 ーHuman in the Loop から Human on the Loop へ / AIE2026
visional_engineering_and_design
7
4.7k
2026.06.13_AI時代に事業会社が「SIer出身エンジニア」を求める理由 / Why Businesses Seek Engineers with a System Integrator Background in the AI Era
jumtech
0
500
JJUG CCC 2026 Spring AI時代の開発こそ標準化を武器に! ― 方式・プロセス・プラットフォームの標準化
s27watanabe
2
720
AI-DLCを活用した高品質・安全なAI駆動開発実践 / AI Driven Development
yoshidashingo
1
360
さきさん文庫の書籍ができるまで
sakiengineer
0
370
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Thoughts on Productivity
jonyablonski
76
5.2k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
sira's awesome portfolio website redesign presentation
elsirapls
0
270
Ruling the World: When Life Gets Gamed
codingconduct
0
250
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
My Coaching Mixtape
mlcsv
0
140
The World Runs on Bad Software
bkeepers
PRO
72
12k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
250
A Soul's Torment
seathinner
6
2.9k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Transcript
$JSDMF$* ͷา͖ํ ୈճ1)1ษڧձ!౦ژ LVOJU
ࣗݾհ ✓ !LVOJU ✓ߴڮ ✓OFDPNPSJ--$ ✓ʮ1)1ϚχϡΞϧΛಡ͏ʯQPEDBTU ✓IUUQQIQNBOVBMOFDPNPSJBTJB ✓QIQPOEPD
ຊͷൃදɾɾɾ ✓߃ྫˍ͓ଋʹͳͬͯ·͕͢ɾɾɾ ✓ࠓ͓ࣄͰ͓ੈʹͳ͍ͬͯΔ #"4&͞ΜͰͷܦݧ͕ɺ͔ͳΓੜ͔͞ ͍ͯ·͢ ✓IUUQTUIFCBTFJO ✓ઈࢍ։ൃऀืूதͱͷ͜ͱͰ͢ͷͰɺ ڵຯͷ͋Δํͥͻͥͻ͓͍߹ΘͤΛʂ
ຊͷൃදͷલʹ ✓1)1FS,BJHJ ✓ ✓ࢲ$BLF1)1ͷ*OUFSBDUJWF 3PVOE5BCMFͱ͍͏ͭͷ࢘ձΛ ͠·͢
օ͞Μ$*ճͯ͠·͔͢ʁ ✓KFOLJT ✓ESPOFJP ✓(JU-BC$* ✓5SBWJT$* ✓$JSDMF$* ✓ͦͷଞ
ຊɾɾɾ ✓ൃදλΠτϧ௨Γɺ $JSDMF$*Λ͍͖ͬͯ·͢ ✓$JSDMF$*ʹͱ ͕͋ΓɺࠓΛ ϝΠϯʹ͠·͢
$JSDMF$* ✓6CVOUV͕ೖͬͨ7.্Ͱ֤ϛυϧΣΞΛ-JOVY ίϯςφͱͯ͠ಈ͔ͯ͠ςετΛߦ͏ ✓ϦϙδτϦԼʹDJSDMFZNMͱ͍͏ઃఆϑΝΠϧΛ ஔ ✓σϑΥϧτͷڍಈ͕ܾ·͍ͬͯͯɺͦͷڍಈΛඞཁʹ Ԡ্ͯ͡ॻ͖͍ͯ͘͠ ✓1)1ͷόʔδϣϯͷΓସ͑෦తʹQIQFOW Λ༻͍ͯ͠Δ ✓5SBWJTͷQIQFOWΛ͍ͬͯΔͷͰɺQIQFOW
ҙ֎ͱ$*αʔϏεͰΘΕ͍ͯΔ
$JSDMF$*ͷਏ͍ͱ͜Ζ ✓σϑΥϧτͰೖ͍ͬͯΔQIQFOWʹೖͬͯͳ ͍֦ு͕͋Δ߹ɺͦͷ֦ுͷCVJMEΒͳ͍ ͱߦ͚ͳ͍ ✓UJNFDPQ֦ுͱ͔ ✓SVOLJU֦ுͱ͔ ✓ͦͷଞɺಛघͳϛυϧΣΞΛςετͰ͏߹ ɺͦΕͷCVJMEΛຖճδϣϒ࣮ߦͷҰͱͯ͠ߦ Θͳ͍ͱ͍͚ͳ͍ ✓$*͕࣌ؒ͘ͳΔ
$JSDMF$*ͷਏ͍ͱ͜Ζ ✓ݱ࣌ͰҰ൪ͭΒ͍ͷ ✓ʹͷػೳఏ ڙऴྃ͢Δ ✓IUUQTDJSDMFDJDPNTVOTFU ✓ͦΕ·ͰʹʹҠߦ͠ͳ͚Ε ͳΒͳ͍
EFNP
$JSDMF$* ✓ʹ("ʹͳͬͨ ✓͔ΒͣͬͱЌΛ͍ͬͯͨ ✓ϦϙδτϦԼʹDJSDMFDJ DPOpHZNMͱ͍͏ઃఆϑΝΠϧΛஔ ✓%PDLFSϕʔεͷ࣮ߦ͕ਪͱͳͬͨ ✓ಉ༷ͷ7.ϕʔεͷ࣮ߦ·ͩ Մೳ
$JSDMF$* ✓%PDLFSJNBHFΛ͏ͨΊɺඍົʹ %PDLFSͷ͕ࣝ͋ͬͨ΄͏͕ཧղ͕ਐΉ ✓7.ϕʔεͷ࣮ߦڥఏڙ͞Ε͍ͯΔ͕ক དྷతʹϓϥεΞϧϑΝͷ՝ۚରʹͳΔͱ༧ࠂ ͞Ε͍ͯΔ $JSDMF$*తʹ%PDLFSϕʔε ʹҠߦͯ͠ཉ͕ͬͯ͠ΔΜͩͱࢥ͏ ✓࠷ۙ%PDLFSΛ։ൃڥͱͯ͠͏͜ͱ
;͖͑ͯͯΔ͔Βɺ͜ΕΛػձʹ%PDLFS͝ͱ ֶश͢Δͷ͕͍͍͔
$JSDMF$* ✓ҎԼͷΑ͏ͳڍಈͱͳΔ %PDLFSΛ͔ͭͬͨͷ ✓%PDLFS)VCͷ3FHJTUSZαʔϏε͔Β %PDLFSJNBHFΛऔಘ͠ɺίϯςφىಈ ✓͜͜Ҏ߱ͦͷ%PDLFSJNBHFΛͱʹىಈ͠ ͨίϯςφͷಈ࡞ͱͳΔ ✓HJUIVC͔ΒιʔεΛDMPOF ✓DPNQPTFSJOTUBMMͷςετͷલ४උ
✓QIQVOJUΛͬͯςετ ✓݁ՌΛTMBDLͱ࿈ܞͯ͠௨
$JSDMF$* ✓ઃఆϑΝΠϧɺϦϙδτϦͷτο ϓʹDJSDMFDJͱ͍͏σΟϨΫτ ϦΛ࡞ΓɺͦͷதʹDPOpHZNM ͱ͍͏ϑΝΠϧΛஔ͘ͱͦΕΛͬ ͯ$*͕࣮ߦ͞ΕΔ ✓DPOpHZNMͷॻ͖ํΛ؆୯ʹ આ໌͍͖ͯ͠·͢
DJSDMFDJDPOpHZNM version: 2 jobs: build: docker: - image: circleci/php:7.1-apache-browsers working_directory:
/var/www/html steps: - checkout - restore_cache: keys: - composer-{{ arch }}—{{ checksum "composer.lock" }} - composer-{{ arch }}— - run: composer install - save_cache: key: composer-{{ arch }}—{{ checksum "composer.lock" }} paths: - ~/.composer/cache - run: ./vendor/bin/phpunit --log-junit ~/phpunit/junit.xml - store_test_results: path: ~/phpunit - store_artifacts: path: ~/phpunit
DJSDMFDJDPOpHZNM ✓ઃఆ͢ΔηΫγϣϯ ✓KPCT ✓ෳͷδϣϒΛઃఆ͢Δ ✓XPSLqPXT ✓ෳͷδϣϒΛͲͷΑ͏ʹ࣮ߦ ͢Δ͔Λઃఆ͢Δ
DJSDMFDJDPOpHZNM version: 2 jobs: build: docker: - image: circleci/php:7.1-apache-browsers working_directory:
/var/www/html steps: - checkout - restore_cache: keys: - composer-{{ arch }}—{{ checksum "composer.lock" }} - composer-{{ arch }}— - run: composer install - save_cache: key: composer-{{ arch }}—{{ checksum "composer.lock" }} paths: - ~/.composer/cache - run: ./vendor/bin/phpunit --log-junit ~/phpunit/junit.xml - store_test_results: path: ~/phpunit - store_artifacts: path: ~/phpunit
KPCT ✓δϣϒΛઃఆ͢Δ ✓δϣϒ໊ σϑΥϧτCVJME ✓ޙ΄Ͳग़ͯ͘ΔXPSLqPXͰ༻͢Δ ✓FYFDVUPSΛઃఆ ✓EPDLFS ✓NBDIJOF ಉ༷ͷ7.ڥ
✓NBDPT ✓XPSLJOH@EJSFDUPSZ ✓࣮ߦσΟϨΫτϦΛࢦఆ͢Δ ✓TUFQTͰࡉ͔͍࣮ߦ༰Λઃఆ͢Δ
DJSDMFDJDPOpHZNM version: 2 jobs: build: docker: - image: circleci/php:7.1-apache-browsers working_directory:
/var/www/html steps: - checkout - restore_cache: keys: - composer-{{ arch }}—{{ checksum "composer.lock" }} - composer-{{ arch }}— - run: composer install - save_cache: key: composer-{{ arch }}—{{ checksum "composer.lock" }} paths: - ~/.composer/cache - run: ./vendor/bin/phpunit --log-junit ~/phpunit/junit.xml - store_test_results: path: ~/phpunit - store_artifacts: path: ~/phpunit
TUFQT ✓DIFDLPVU ✓ιʔεΛDIFDLPVU͢Δ ✓SVO ✓ίϚϯυΛ࣮ߦ͢Δ ✓SFTUPSF@DBDIFTBWF@DBDIF ✓DPNQPTFSCVOEMFSΛຖճ͍ͬͯΔͱ࣌ؒ ͷΉͩͳͷͰɺదͳΩʔΛͬͯΩϟογϡ͢Δ ✓TUPSF@BSUJGBDUTTUPSF@UFTU@SFTVMUT ✓ςετ݁ՌΛ$*ͷ݁Ռදࣔʹөͤ͞Δ
DJSDMFDJDPOpHZNM version: 2 jobs: build: docker: - image: circleci/php:7.1-apache-browsers working_directory:
/var/www/html steps: - checkout - restore_cache: keys: - composer-{{ arch }}—{{ checksum "composer.lock" }} - composer-{{ arch }}— - run: composer install - save_cache: key: composer-{{ arch }}—{{ checksum "composer.lock" }} paths: - ~/.composer/cache - run: ./vendor/bin/phpunit --log-junit ~/phpunit/junit.xml - store_test_results: path: ~/phpunit - store_artifacts: path: ~/phpunit
SVO ✓ίϚϯυΛ࣮ߦ͢Δͷͩ ͕ɺ࣮ߦը໘Ͱදࣔ͢Δจࣈ ྻΛઃఆͰ͖Δ - run: ./vendor/bin/phpunit --log-junit ~/phpunit/junit.xml -
run: name: run tests command: ./vendor/bin/phpunit --log-junit ~/phpunit/junit.xml - run: name: run tests command: | ./vendor/bin/phpunit --log-junit ~/phpunit/junit.xml
ෳͷ%PDLFSΠϝʔδΛ͏ ✓EPDLFSFYFDVUPSͷઃఆͰෳͷJNBHFΛࢦఆ͢Δ ✓ͭʹࢦఆͨ͠JNBHF͕ϓϥΠϚϦΠϝʔδʹͳΓɺ TUFQTҎ߱ͷίϚϯυͦͷΠϝʔδʹର࣮ͯ͠ߦ͞ΕΔ ✓ͦͷଞͷίϯςφͷϓϩηεʹɺ ϙʔτ൪ ߸ ͰΞΫηεͰ͖Δ version: 2
jobs: build: docker: - image: php:7.1-apache - image: circleci/mysql:5.7 environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: test_app MYSQL_USER: test MYSQL_PASSWORD: test - image: redis:3.2
1SJWBUF3FHJTUSZͷ%PDLFSΠϝʔδΛ͏ ✓ೝূ͕ඞཁͳ߹͍͔ͭ͘ࢦఆํ๏͕͋Δ ✓"84&$3ͷࢦఆํ๏͕ಛघ ✓&$3͕௨ৗͷEPDLFSMPHJOΛ͢ΔܗͰͳ͍ͨΊ version: 2 jobs: build: docker: -
image: private/sample:1.0 auth: username: DOCKER_HUB_USERNAME password: DOCKER_HUB_PASSWORD - image: account-id.dkr.ecr.us-east-1.amazonaws.com/org/repo:0.1 aws_auth: aws_access_key_id: ECS_AWS_ACCESS_KEY aws_secret_access_key: ECS_AWS_SECRET_ACCESS_KEY
$JSDMF$*ఏڙͷJNBHF ✓ݴޠ͓ΑͼϛυϧΣΞʹؔͯ͠ɺ$JSDMF$*ࣗମ ͕%PDLFS)VCͰ͞Ε͍ͯΔΦϑΟγϟϧͷ JNBHFΛͬͯɺΧελϜJNBHFΛ͍ͯ͠Δ ✓%#ͷJNBHFɺνϡʔχϯά͕͔ͳΓߦΘ Ε͍ͯΔͷͰςετ͕࣌ؒॖ͞ΕΔͷϝϦο τʹܨ͕Δ ✓ಛʹ͕ͳ͍ݶΓɺ$JSDMF$*ͷJNBHF Λࢼͯ͠ΈΔ͜ͱΛ͓͢͢Ί͢Δ ✓IUUQTIVCEPDLFSDPNVDJSDMFDJ
EPDLFSJNBHFͷஔ͖ॴ ✓$JSDMF$*͓ͦΒ͘"84ͷVTFBTUͰಈ ͍͍ͯΔ ✓%PDLFS)VC͓ͦΒ͘"84ͷVTFBTU Ͱಈ͍͍ͯΔ ✓JNBHFͷQVMM͕ૣ͍ ✓"84ͷ&$3Λ͏߹ɺಉ༷ʹVTFBTU ʹ͓͍ͨ΄͏͕ྑ͍ ✓౦ژϦʔδϣϯʹஔ͘ͱJNBHFͷऔಘʹ༨ܭ ͳ͕͔͔࣌ؒΔͨΊɺ$*ͷ͕࣌ؒ͘ͳΔ
XPSLqPX ✓$JSDMF$*ͷ৽ػೳ ✓ෳͷδϣϒΛͲͷΑ͏ͳґଘؔ ॱ ൪ Ͱ࣮ߦ͢Δ͔ΛఆٛͰ͖Δ ✓ྫ͑ɺQIQDTͰΤϥʔ͕ͳ͍߹ ͷΈɺQIQVOJUΛΒ͍ͤͨͱ͔ ✓࠷ۙೖͬͨػೳͱͯ͠ɺܾ·ͬͨ࣌ؒ ʹδϣϒΛ࣮ߦ͢Δػೳ͕Ճ͞Εͨ
DJSDMFDJDPOpHZNM workflows: version: 2 phpcs_test_deploy_workflow: jobs: - phpcs - test:
requires: - phpcs - deploy filters: branches: only: - master requires: - test cron_workflow: triggers: - schedule: cron: “0 18 * * *” filters: branches: only: - develop jobs: - daily_job
$JSDMF$*ͷϝϦοτ ✓%PDLFSϕʔεʹͳͬͨͷͰɺςετͰඞཁͳڥ Λ͍Εͨ%PDLFSJNBHFΛ࡞͓͚ͬͯɺCVJME࣌ ؒඞཁͳ͘ͳΔ ✓%PDLFSJNBHFͷαΠζΛେ͖͘͢ΔͱQVMMͷ ͕࣌ؒ$*ͷ࣮ߦ࣌ؒʹ݁͢ΔͷͰҙ ✓ தͷਓᐌ͘ ͷࠒɺδϣϒͷ࣮ߦΛTTIଓ ͰແཧΓ͍ͬͯͨͷͰɺมͳΤϥʔ͕ʑൃੜ͠
͍͕ͯͨɺʹͳ͔ͬͯΒɺδϣϒ࣮ߦH31$ ܦ༝ʹͳͬͨͷͰɺ࣮ߦૣ͘ͳΓɺ৴པੑ্͕ͬ ͨ
࠷ۙ҆ఆ͖͍ͯͯ͠Δ ✓("ʹͳ݄ͬͨҎ߱ɺ͠ Β݁͘ߏෆ҆ఆͳঢ়ଶͩͬͨ ✓ͷϫʔΫϑϩʔ͚ͩམ͍ͪͯΔͱ͔ ✓ͷδϣϒ͚ͩͨΒͨ͞ΕΔͱ͔ ✓͜͜ϲ݄݁ߏຊମམͪண͍͍ͯΔ ✓%PDLFS)VCͱͷ࿈ܞͱ͔ɺ)FSPLV ͱͷ࿈ܞͱ͔ɺ֎෦ͷ࿈ܞ͕࣌ʑམͪͯΔ͜ ͱ͕͋Δ
͝ਗ਼ௌ ͋Γ͕ͱ͏ ͍͟͝·ͨ͠