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 2.0 をつかってみよう / CircleCI #phpcondo2017
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
TAKAHASHI Kunihiko
November 25, 2017
Technology
760
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CircleCI 2.0 をつかってみよう / CircleCI #phpcondo2017
TAKAHASHI Kunihiko
November 25, 2017
More Decks by TAKAHASHI Kunihiko
See All by TAKAHASHI Kunihiko
Apache から LiteSpeed に乗り換えてみませんか? / php-conference-japan-2019-track5-hello-litespeed
kunit
1
1.8k
Webアプリケーションエンジニアだった私がホスティング事業に興味を持った理由 / Fukuoka UIJ Turn gmo pepabo
kunit
0
560
アプリケーションエンジニアな私がホスティング業界に来て感じたあれこれ / ChugokuDB Vol27
kunit
0
670
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 の歩き方 / CircleCI #phpstudy
kunit
2
280
Docker for Mac/Winってどうなの? / #fukuokaphp docker for mac and win
kunit
0
290
Other Decks in Technology
See All in Technology
ここは地獄!つらい朝会を体験することで、チームとしてのより良い振る舞いに気づくワークショップ / The stand-up meeting from hell in the game industry
scrummasudar
0
340
StepFunctionsとGraphRAGを活用した暗黙知活用のためのRAG基盤
yakumo
0
180
データエンジニアこそ組織のオントロジーに向き合うべき — 問いに答えるAIから、事業を動かすAIへ
gappy50
2
580
reFACToring
moznion
1
670
【公開用】AI_Dev_Ex2026_AI_登壇資料
matsuritechnologies
PRO
2
650
モバイル研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
210
OpenTelemetryにおけるGoのゼロコード・コンパイル時計装について #fukuokago
quiver
0
340
『モデル + ハーネス』で読み解く AIエージェント入門
oracle4engineer
PRO
2
210
全社でのソフトウェアサプライチェーン攻撃対策をやってみた with Takumi Guard
z63d
0
310
なぜ、あなたのエージェントは言うことを聞かないのか
segavvy
1
520
クラウドを使う側から、作る側へ / 大吉祥寺.pm 2026前夜祭
fujiwara3
7
1.6k
論語・武士道・産業革命から見る かわるもの、かわらないもの
ichimichi
8
1.3k
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
We Are The Robots
honzajavorek
0
280
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
420
It's Worth the Effort
3n
188
29k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Side Projects
sachag
455
43k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
340
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
Transcript
$JSDMF$* ΛͬͯΈΑ͏ 1)1ΧϯϑΝϨϯεւಓग़ு൛ Ծ 1)1Φϑձ LVOJU
ࣗݾհ ✓ !LVOJU ✓ߴڮ ✓OFDPNPSJ--$ ✓ʮ1)1ϚχϡΞϧΛಡ͏ʯQPEDBTU ✓IUUQQIQNBOVBMOFDPNPSJBTJB ✓QIQPOEPD
ຊͷൃදɾɾɾ ✓߃ྫˍ͓ଋʹͳͬͯ·͕͢ɾɾɾ ✓ࠓ͓ࣄͰ͓ੈʹͳ͍ͬͯΔ #"4&͞ΜͰͷܦݧ͕ɺ͔ͳΓੜ͔͞ ͍ͯ·͢ ✓IUUQTUIFCBTFJO ✓ઈࢍ։ൃऀืूதͱͷ͜ͱͰ͢ͷͰɺ ڵຯͷ͋Δํͥͻͥͻ͓͍߹ΘͤΛʂ
օ͞Μ$*ճͯ͠·͔͢ʁ ✓KFOLJT ✓ESPOFJP ✓(JU-BC$* ✓5SBWJT$* ✓$JSDMF$* ✓ͦͷଞ
ຊɾɾɾ ✓ൃදλΠτϧ௨Γɺ $JSDMF$*Λ͍͖ͬͯ·͢
$JSDMF$* ✓6CVOUVͰ࡞ΒΕͨ7.্Ͱ֤ϛυϧΣΞΛ -JOVYίϯςφͱͯ͠ಈ͔ͯ͠ςετΛߦ͏ ✓ϦϙδτϦԼʹDJSDMFZNMͱ͍͏ઃఆϑΝΠϧΛஔ ✓ઃఆͱͯ͠ɺར༻͢ΔݴޠͷόʔδϣϯϛυϧΣ ΞΛࢦఆͯ͠ɺܾΊΒΕͨηΫγϣϯʹରͯ͠ઃఆΛՃ ͍ͯ͘͠ ✓1)1ͷόʔδϣϯͷΓସ͑෦తʹQIQFOWΛ ༻͍ͯ͠Δ ✓5SBWJTͷQIQFOWΛ͍ͬͯΔͷͰɺQIQFOW
ҙ֎ͱ$*αʔϏεͰΘΕ͍ͯΔ
σϞ ✓ͳʹͱ͋Εಈ͘ͱ͜Ζ ΛΈ͍ͯͩ͘͞
EFNP
DJSDMFZNM ✓ઃఆ͢ΔηΫγϣϯ ✓NBDIJOF ✓DIFDLPVU ✓EFQFOEFODJFT ✓EBUBCBTF ✓DPNQJMF ✓UFTU ✓EFQMPZNFOU ✓ͦΕͧΕͷηΫγϣϯͷઃఆʹରͯ͠ɺQSFPWFSSJEFQPTUͱ
͍ͬͨͷΛՃͯ͠ࣄલʹಈ͔͢ͷࣄޙʹಈ͔͢ͷͱ͍ͬͨ ͷΛઃఆ͍ͯ͘͠
DJSDMFZNM machine: timezone: Asia/Tokyo php: version: 7.1.9 services: - mysql
- redis environment: DEBUG: true DATABASE_SERVER: localhost REDIS_SERVER: localhost dependencies: cache_directories: - ~/.composer/cache pre: - echo "memory_limit = 64M" > /opt/circleci/php/$(phpenv global)/etc/conf.d/memory.ini - composer config -g github-oauth.github.com $GITHUB_ACCESS_TOKEN override: - composer install --prefer-dist --no-interaction test: override: - mkdir -p $CIRCLE_TEST_REPORTS/phpunit - vendor/bin/phpunit --log-junit $CIRCLE_TEST_REPORTS/phpunit/junit.xml
$JSDMF$*ͷਏ͍ͱ͜Ζ ✓σϑΥϧτͰೖ͍ͬͯΔQIQFOWʹೖͬͯͳ ͍֦ு͕͋Δ߹ɺͦͷ֦ுͷCVJMEΒͳ͍ ͱߦ͚ͳ͍ ✓UJNFDPQ֦ுͱ͔ ✓SVOLJU֦ுͱ͔ ✓ͦͷଞɺಛघͳϛυϧΣΞΛςετͰ͏߹ ɺͦΕͷCVJMEΛຖճδϣϒ࣮ߦͷҰͱͯ͠ߦ Θͳ͍ͱ͍͚ͳ͍ ✓$*͕࣌ؒ͘ͳΔ
$JSDMF$* ✓ʹ("ʹͳͬͨ ✓͔ΒͣͬͱЌΛ͍ͬͯͨ ✓ϦϙδτϦԼʹDJSDMFDJ DPOpHZNMͱ͍͏ઃఆϑΝΠϧΛஔ ✓%PDLFSϕʔεͷ࣮ߦ͕ਪͱͳͬͨ ✓ಉ༷ͷ7.ϕʔεͷ࣮ߦ·ͩ Մೳ
σϞ ✓ઌఔͷͷΛ$JSDMF$* Խͯ͠Έ·͢
EFNP
DJSDMFDJDPOpHZNM ✓ઃఆ͢ΔηΫγϣϯ ✓KPCT ✓ෳͷδϣϒΛઃఆ͢Δ ✓XPSLqPXT ✓ෳͷδϣϒΛͲͷΑ͏ʹ࣮ߦ ͢Δ͔Λઃఆ͢Δ
DJSDMFDJDPOpHZNM version: 2 jobs: build: docker: - image: circleci/php:7.1-apache-browsers working_directory:
~/repo steps: - checkout - restore_cache: keys: - v1-dependencies-{{ checksum "composer.json" }} - v1-dependencies- - run: composer install -n --prefer-dist - save_cache: paths: - ./vendor key: v1-dependencies-{{ checksum "composer.json" }} - run: ./vendor/bin/phpunit --log-junit ~/reports/phpunit/junit.xml - store_artifacts: path: ~/reports/ - store_test_results: path: ~/reports/
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:
~/repo steps: - checkout - restore_cache: keys: - v1-dependencies-{{ checksum "composer.json" }} - v1-dependencies- - run: composer install -n --prefer-dist - save_cache: paths: - ./vendor key: v1-dependencies-{{ checksum "composer.json" }} - run: ./vendor/bin/phpunit --log-junit ~/reports/phpunit/junit.xml - store_artifacts: path: ~/reports/ - store_test_results: path: ~/reports/
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:
~/repo steps: - checkout - restore_cache: keys: - v1-dependencies-{{ checksum "composer.json" }} - v1-dependencies- - run: composer install -n --prefer-dist - save_cache: paths: - ./vendor key: v1-dependencies-{{ checksum "composer.json" }} - run: ./vendor/bin/phpunit --log-junit ~/reports/phpunit/junit.xml - store_artifacts: path: ~/reports/ - store_test_results: path: ~/reports/
SVO ✓ίϚϯυΛ࣮ߦ͢Δͷͩ ͕ɺ࣮ߦը໘Ͱදࣔ͢Δจࣈ ྻΛઃఆͰ͖Δ - run: ./vendor/bin/phpunit --log-junit ~/reports/phpunit/junit.xml -
run: name: run tests command: ./vendor/bin/phpunit --log-junit ~/reports/phpunit/junit.xml - run: name: run tests command: | ./vendor/bin/phpunit --log-junit ~/reports/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 version: 2 jobs: தུ workflows: version: 2 phpcs_test_deploy_workflow: jobs:
- phpcs - test: requires: - phpcs - deploy filters: branches: only: - development requires: - test cron_workflow: triggers: - schedule: cron: “0 18 * * *” filters: branches: only: - master
$JSDMF$*ͷϝϦοτ ✓%PDLFSϕʔεʹͳͬͨͷͰɺςετͰඞཁͳڥ Λ͍Εͨ%PDLFSJNBHFΛ࡞͓͚ͬͯɺCVJME࣌ ؒඞཁͳ͘ͳΔ ✓%PDLFSJNBHFͷαΠζΛେ͖͘͢ΔͱQVMMͷ ͕࣌ؒ$*ͷ࣮ߦ࣌ؒʹ݁͢ΔͷͰҙ ✓ தͷਓᐌ͘ ͷࠒɺδϣϒͷ࣮ߦΛTTIଓ ͰແཧΓ͍ͬͯͨͷͰɺมͳΤϥʔ͕ʑൃੜ͠
͍͕ͯͨɺʹͳ͔ͬͯΒɺδϣϒ࣮ߦH31$ ܦ༝ʹͳͬͨͷͰɺ࣮ߦૣ͘ͳΓɺ৴པੑ্͕ͬ ͨ
ͨͩ͠ɾɾɾ ✓("ʹͳ݄ͬͨҎ߱ɺ݁ ߏෆ҆ఆͳঢ়ଶ ✓ͷϫʔΫϑϩʔ͚ͩམ͍ͪͯΔͱ͔ ✓ͷδϣϒ͚ͩͨΒͨ͞ΕΔͱ͔ ✓͓ͦΒ͘ࢥͬͨҎ্ʹ͔ΒͷҎ͓߱Αͼ ৽نͷར༻͕૿͑ͨͷͰͳ͍͔ʁ ✓ڙڅ͕धཁʹ͍͍ͭͯͳͯ͘ɺݱ࣌Ͱ ݁ߏෆ҆ఆɾɾɾ
͝ਗ਼ௌ ͋Γ͕ͱ͏ ͍͟͝·ͨ͠