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
Acquia Cloud Platform入門:CI/CDツールで開発ワークフローを自動化しよう
Search
アクイアジャパン Acquia Japan
February 09, 2022
Programming
250
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Acquia Cloud Platform入門:CI/CDツールで開発ワークフローを自動化しよう
https://www.acquia.com/jp/events/webinars/basic-acquia-cloud-platform-cicd
アクイアジャパン Acquia Japan
February 09, 2022
More Decks by アクイアジャパン Acquia Japan
See All by アクイアジャパン Acquia Japan
Auth0 by OktaとDrupalで実践!認証付きアプリケーションの新しいアプローチ
acquiajp
0
230
Drupal 10.3の新機能紹介ウェビナー
acquiajp
0
270
DrupalCon Portland 2024 総まとめウェビナー
acquiajp
0
130
開発者必見!Acquia Cloud IDEで最高のDrupal開発を始めよう
acquiajp
0
230
触って学ぶ!デジタルアセット管理 Acquia DAM ハンズオンウェビナー
acquiajp
0
56
DrupalCon Lille 2023 総まとめウェビナー
acquiajp
0
100
コンテンツ設計手法で変更に強いアプリケーションを実現する〜ローコードによるWebアプリのバックエンド実装 #CNDF2023
acquiajp
0
410
DrupalCon Pittsburgh 2023 総まとめウェビナー
acquiajp
0
110
Acquia製品概要&Site Studioデモのご紹介
acquiajp
0
140
Other Decks in Programming
See All in Programming
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
160
メールのエイリアス機能を履き違えない
isshinfunada
0
230
the container ship “Apple Silicon”@WWDC26 Recap -Japan-\(region).swift
shingangan
0
120
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
360
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.8k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
560
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
130
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
550
AWS DevOps AgentのAzure接続機能を検証して見えた活用法/Use Cases Verified for the AWS DevOps Agent's Azure Connectivity Feature
masakiokuda
1
230
仕様駆動開発の消費期限
watany
20
8.2k
Building a Meta Ray-Ban display app
akkeylab
0
130
Featured
See All Featured
Scaling GitHub
holman
464
140k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
410
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
250
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
640
The Cost Of JavaScript in 2023
addyosmani
55
10k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Ethics towards AI in product and experience design
skipperchong
2
340
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Being A Developer After 40
akosma
91
590k
Transcript
Acquia Cloud Platformೖ ɹΞδΣϯμ • ΞʔςΟϑΝΫτͱ • Acquia Pipelinesͱ •
Acquia PipelinesΛ͡ΊΑ͏ • ఆٛϑΝΠϧͷղઆ • Q&A CI/CDπʔϧͰ։ൃϫʔΫϑϩʔ ΛࣗಈԽ͠Α͏
ʰͰͿͪΌΜͶΔʱͱʁ ΞΫΠΞδϟύϯ͕͓ಧ͚͢ΔʰͰͿͪΌΜͶΔʱͰ ɺΤϯδχΞͷΈͳ͞·͕ٳܜ͠ͳ͕Βฉ͚ΔΑ͏ ͳɺΧδϡΞϧͳܗࣜͰςΫχΧϧใΛൃ৴͢Δ։ ൃऀ͚ΣϏφʔͰ͢ɻִिਫ༵ίʔώʔยख ʹ͝ΏΔΓͱ͝ࢹௌ͍ͩ͘͞ɻ ϋογϡλά #AcquiaJP ͰײͳͲᄁ͍͍͚ͯͨͩΔ ͱخ͍͠Ͱ͢ʂ
ຊͷεϐʔΧʔ ΞΫΠΞδϟύϯ ؛ढ़ฌ ιϦϡʔγϣϯΤϯδχΞ ΞΫΠΞδϟύϯ ؙࢁͻ͔Δ ςΫχΧϧτϥϯεϨʔλʔ ͰͿͪΌΜͶΔ
ΞΫΠΞδϟύϯ ݄ ιϦϡʔγϣϯΤϯδχΞ
Acquia Cloud PlatformೖΣϏφʔγϦʔζ • Acquia Cloud PlatformɺDrupalΞϓϦέʔγϣϯΛߏஙɺ ཧ͢ΔͨΊͷεέʔϥϒϧͰ҆શͳϓϥοτϑΥʔϜͰ͢ɻ •
ຊΣϏφʔγϦʔζͰɺAcquia Cloud Platform͕ͲΜͳ ͷ͔ڵຯ͕͋Δํɺ͜Ε͔Β͍࢝ΊΔํ͚ʹɺAcquia Cloud PlatformͰߦ͏DrupalΞϓϦέʔγϣϯ։ൃߏஙํ๏ ศརͳπʔϧͳͲΛ͝հ͠·͢ɻ
աڈ์ૹ 1. Acquia Cloud Platformͱͳʹ͔ 2. DrupalΞϓϦέʔγϣϯ։ൃΛ࢝ΊΔ [ϩʔΧϧฤ] 3. DrupalΞϓϦέʔγϣϯ։ൃΛ࢝ΊΔ
[Cloud IDEฤ] 4. ΞϓϦέʔγϣϯཧํ๏Λֶ΅͏ 5. Ϣʔβʔཧํ๏Λֶ΅͏ 6. ։ൃϫʔΫϑϩʔΛֶ΅͏ Acquia Cloud PlatformೖΣϏφʔγϦʔζ
ΞʔςΟϑΝΫτͱ
ΞʔςΟϑΝΫτʮͷΈʯσϓϩΠ͢Δ Things you need for ຊ൪αΠτ != <> Things you
need for ։ൃϓϩηε
։ൃݱͱΞʔςΟϑΝΫτͷίʔυͷҧ͍ʢ̍ʣ ΞʔςΟϑΝΫτ ։ൃݱ
։ൃݱͱΞʔςΟϑΝΫτͷίʔυͷҧ͍ʢ̎ʣ #navbar { width: 80%; border: solid red
1px; float: left; padding: 5px; ul { list-style-type: none; } li { float: right; a { font-weight: bold; color: red; } } } #navbar { width: 80%; border: solid red 1px; float: left; padding: 5px; } #navbar ul { list-style-type: none; } #navbar ul li { float: right; } #navbar ul li a { font-weight: bold; color: red; } ΞʔςΟϑΝΫτ ։ൃݱ
։ൃݱͱΞʔςΟϑΝΫτͷίʔυͷҧ͍ʢ̏ʣ .drush-use .git/ .gitignore .idea/ .travis.yml .vagrant/ README.md Vagrantfile blt.sh*
box/ build/ composer.json composer.lock config/ docroot/ drush/ drush.wrapper* example.project.local.yml factory-hooks/ hooks/ patches/ project.local.yml project.yml readme/ reports/ scripts/ tests/ vendor/ .gitignore composer.json composer.lock config/ docroot/ drush/ factory-hooks/ hooks/ reports/ scripts/ vendor/ ΞʔςΟϑΝΫτ ։ൃݱ
Acquia Pipelines Acquia Cloud IDE CI/CDͰΞʔςΟϑΝΫτੜΛࣗಈԽ Acquia Pipelines ͷCI/CDπʔϧͰɺΞʔςΟϑΝΫτͷੜɺٴͼςετσϓϩΠ ΛࣗಈԽͰ͖·͢ɻ
Acquia Pipelines ͱ
Acquia Pipelines ͱ • ΞΫΠΞͰఏڙ͢ΔCI/CDπʔϧ • Acquia Cloud Platform, Acquia
Cloud Site FactoryαϒεΫϦϓγϣϯͷΞυϯػೳ • Github, Bitbucketͱ࿈ܞͯ͠γʔϜϨεʹ σϓϩΠ
YAMLϑΝΠϧͰϏϧυΛఆٛ version: 1.3.0 services: - mysql - php: version: 7.4
variables: global: COMPOSER_BIN: $SOURCE_DIR/vendor/bin BLT_DIR: $SOURCE_DIR/vendor/acquia/blt events: build: steps: - setup-env: type: script script: - composer validate --no-check-all --ansi - composer install --ansi - source ${BLT_DIR}/scripts/pipelines/setup_env post-deploy: steps: - deploy: script: - pipelines-deploy pr-merged: steps: - deploy: script: - pipelines-deploy ϓϩδΣΫτσΟϨΫτϦԼʹ acquia-pipelines.yaml ͱ͍͏ ໊લͰϑΝΠϧ࡞
ཧը໘ɺCLI͔Βૢ࡞Մೳ • δϣϒཤྺͷදࣔ • δϣϒͷ࣮ߦɾఀࢭ • ॲཧதͷϩάɺ࣮ߦ݁ՌͷӾཡ • etc… Acquia
Cloud Platform ཧը໘ CLI ίϚϯυҰཡ
Github, Bitbucketͷ֎෦ϦϙδτϦͱͷଓ
Acquia Pipelines Λ͡ΊΑ͏
Acquia PipelinesΛ͡ΊΔલʹ֬ೝ • PipelineΛ࣮ߦ͢Δݖݶ͕༩͞Ε͍ͯΔ͔֬ೝ • Cloud CDڥͷ༗ແ • Acquia PipelineΛ༻͢ΔʹCDڥ͕ඞཁͰ͢
• ͝ܖ༰ʹΑͬͯCDڥ͕༩͞Ε͍ͯͳ͍͜ ͱ • Coud Platformͷཧϝχϡʔʹ ʮPipelineʯ͕දࣔ͞Ε͍ͯΔ͔֬ೝ • දࣔ͞Ε͍ͯΕར༻ՄೳͰ͢
Acquia Pipelinesͷ࢝Ίํ ઃఆʙΞʔςΟϑΝΫτͷσϓϩΠ·ͰɺAcquia Pipelinesͷ͡ΊͷҰาΛղઆ͠·͢ɻ ※ BLT͕ಋೖ͞Ε͍ͯΔલఏͰ͓͠͠·͕͢ɺAcquia PipelinesΛ༻͢Δ্ͰBLTͷಋ ೖඞਢͰ͋Γ·ͤΜɻ 1. Githubͱͷଓ
2. ఆٛϑΝΠϧͷ࡞ 3. δϣϒͷ࣮ߦ
1. Githubͱͷଓʢ̍ʣ • Pipelinesͱ֎෦ͷϦϙδτϦΛଓ͢Δ߹ɺ࠷ॳʹઃఆΛߦ͍·͢ɻ ※ Acquia PipelinesGihtub, BitbucketͷύϒϦοΫɺϓϥΠϕʔτϦϙδτϦʹରԠ͍ͯ͠·͢ɻ
※ ֎෦ϦϙδτϦͱଓ͠ͳͯ͘PipelinesΛ༻͢Δ͜ͱ͕Ͱ͖·͢ɻ • ͜͜ͰGithubʹ༻ҙͨ͠ϓϥΠϕʔτϦϙδτϦͱଓ͢Δํ๏Λ͝հ͠·͢ɻ
1. Githubͱͷଓʢ̎ʣ • Cloud Platformͷཧը໘ʹϩάΠϯͯ͠ɺରͷΞϓϦέʔγϣϯΛબ͠·͢ɻ • ϝχϡʔͷʮPipelinesʯʹҠಈͯ͠ɺʮChoose sourceʯ> ʮConfigureʯΛΫϦοΫ͠·͢ɻ ᶃ
ᶄ ᶅ
1. Githubͱͷଓʢ̏ʣ • ਅΜதͷGithubΞΠίϯͷԼͷʮConfigureʯ > ʮConnect to GithubʯΛΫϦοΫ͠·͢ɻ • Cloud
Platform͕GithubϦϙδτϦͷΞΫηεΛߦ͏ࢫΛڐՄ͢Δ֬ೝϖʔδ͕දࣔ͞ΕΔͷͰ ʮAuthorizeʯΛΫϦοΫ͢ΕଓྃͰ͢ɻ GitHubϦϙδτϦͷΞΫηε ΛCloud PlatformʹڐՄ͢Δͱ ଓ͕ྃ͠·͢ɻ
• ʮSelect GitHub repositoryʯΛΫϦοΫͯ͠ɺطʹGithubଆͰ༻ҙ͍ͯ͠ΔϦϙδτϦΛબ͠ɺ ʮContinueʯΛΫϦοΫ͠·͢ɻ • ͜ΕͰGithubϦϙδτϦͱଓ͞Ε·ͨ͠ɻ 1. Githubͱͷଓʢ̐ʣ
2. ఆٛϑΝΠϧͷ࡞ʢ̍ʣ • DrupalϓϩδΣΫτͷϧʔτσΟϨΫτϦʹ acquia-pipelines.yaml ϑΝΠϧΛ࡞͠·͢ɻ • खಈͰ࡞Ͱ͖·͕͢ɺAcquia BLTͷίϚϯυ blt
recipes:ci:pipelines:init Λ࣮ߦ͢ΔͱܗϑΝΠ ϧΛ࡞ͬͯ͘ΕΔͷͰָͰ͢ɻ version: 1.2.0 services: - mysql - php: version: 7.3 variables: global: COMPOSER_BIN: $SOURCE_DIR/vendor/bin BLT_DIR: $SOURCE_DIR/vendor/acquia/blt events: build: steps: - setup-env: type: script script: - composer validate --no-check-all --ansi
version: 1.2.0 services: - mysql - php: version: 7.3 variables:
global: COMPOSER_BIN: $SOURCE_DIR/vendor/bin BLT_DIR: $SOURCE_DIR/vendor/acquia/blt ..লུ.. 2. ఆٛϑΝΠϧͷ࡞ʢ̎ʣ • BLTίϚϯυͰ࡞ͨ͠ acquia-pipelines.yaml ϑΝΠϧʹ2Օॴमਖ਼ΛՃ͑·͢ɻ • ͜ΕͰఆٛϑΝΠϧͷ࡞ྃͰ͢ɻ version: 1.3.0 # PipelinesόʔδϣϯΛ1.3.0ʹ services: - mysql - php: version: 7.4 # PHPόʔδϣϯΛ7.4ʹ variables: global: COMPOSER_BIN: $SOURCE_DIR/vendor/bin BLT_DIR: $SOURCE_DIR/vendor/acquia/blt ..লུ..
• ࣍ͷίϚϯυͰGithubϦϙδτϦʹมߋΛϓογϡ͠·͢ɻ •
GithubϦϙδτϦʹίϛοτ͕ϓογϡ͞Εͨ͜ͱʹΑΓɺύ ΠϓϥΠϯͷϏϧυ͕։࢝͞Ε·͢ɻৄࡉΛCloud Platformͷ ཧը໘͔Β֬ೝͰ͖·͢ɻ 3. δϣϒͷ࣮ߦʢ̍ʣ $ git checkout -b add-pipelines $ git add acquia-pipelines.yaml $ git commit -m “ύΠϓϥΠϯػೳͷՃ” $ git push origin add-pipelines Githubը໘ Cloud Platformը໘
3. δϣϒͷ࣮ߦʢ̎ʣ • δϣϒ͕ਖ਼ৗʹྃ͢Δͱɺ pipelines-build-[BRANCHNAME] ͱ͍͏ ϒϥϯν໊ͰΞʔςΟϑΝΫτΛ
ࣗಈతʹੜ͠·͢ɻ ྫʣpipelines-build-pipelines-master • ͜ΕʹΑΓɺΞϓϦέʔγϣϯͷҙͷEnvironmentʹରͯ͠ΞʔςΟϑΝΫτͷσϓϩΠ͕ՄೳͰ͢ɻ • ྫ͑Devڥʹ pipelines-build-master Λઃఆͯ͠ ͓͘ͱɺmasterϒϥϯνͷϏϧυΞʔςΟϑΝΫτ ͕ৗʹσϓϩΠ͞ΕΔΑ͏ʹͳΓ·͢ɻ
Acquia Pipelinesͷ࢝Ίํ ઃఆʙΞʔςΟϑΝΫτͷσϓϩΠ·ͰɺAcquia Pipelinesͷ͡ΊͷҰาΛ ղઆ͠·͢ɻ ※ BLT͕ಋೖ͞Ε͍ͯΔલఏͰ͓͠͠·͢ɻ 1. Githubͱͷଓ 2.
ఆٛϑΝΠϧͷ࡞ 3. δϣϒͷ࣮ߦ
ఆٛϑΝΠϧͷղઆ
ఆٛϑΝΠϧͱ • Acquia PipelinesͷఆٛϑΝΠϧͱɺacquia-pipelines.yaml ͱ͍͏໊લͷYMLܗࣜͷ ϑΝΠϧΛࢦ͠·͢ɻ • ఆٛϑΝΠϧʹɺϏϧυΛ࣮ߦ͢ΔͨΊʹඞཁͳશͯͷใؚ͕·Ε·͢ɻ • Ϗϧυ60ޙʹλΠϜΞτ͞ΕΔͨΊɺϏϧυதʹ༻͢Δશͯͷεςοϓͱϓϩ
ηε͕λΠϜΞτதʹ࣮ߦྃ͢Δඞཁ͕͋Γ·͢ɻ • ϑΝΠϧ໊ acquia-pipelines.yaml ʹશҰக͢Δඞཁ͕͋Γʢ֦ுࢠyml, yamlͲͪΒ ͰՄೳʣɺϓϩδΣΫτͷϧʔτσΟϨΫτϦʹଘࡏ͢Δඞཁ͕͋Γ·͢ɻ https://docs.acquia.com/cloud-platform/pipelines/yaml/
ఆٛϑΝΠϧkey/valueΛهड़͢Δ͜ͱͰఆٛ͠·͢ɻ ఆٛϑΝΠϧͰ༻ՄೳͳΩʔΛҰ෦͝հ͠·͢ɻ version: ඞਢɻPipelineͷόʔδϣϯΛࣔ͢ɻ࠷৽͕1.3.0ɻ services: δϣϒͷ࣮ߦதʹར༻͢ΔαʔϏεΛࣔ͢ɻ variables:
Ϗϧυʹඞཁͳڥม͕͋Δ߹ɺvariablesͰࢦఆɻ events: ඞਢɻ͍ͭͲΜͳεΫϦϓτΛΒͤΔͷ͔Λఆٛ͢Δɻ ఆٛϑΝΠϧͷॻ͖ํ version: 1.3.0 services: - mysql - php: version: 7.4 variables: global: COMPOSER_BIN: $SOURCE_DIR/vendor/bin BLT_DIR: $SOURCE_DIR/vendor/acquia/blt events: build: steps: - setup-env: type: script script: - composer validate --no-check-all --ansi - composer install --ansi - source ${BLT_DIR}/scripts/pipelines/setup_env - validate: type: script script: - source ${BLT_DIR}/scripts/pipelines/validate - setup-app: type: script script: - source ${BLT_DIR}/scripts/pipelines/setup_app - tests:
Πϕϯτͷهड़ํ๏ eventsΩʔͷதʹɺ࣍ͷΩʔΛࢦఆՄೳͰ͢ɻͦΕ ͧΕͷΩʔʹ steps: Ͱ࣮ߦ༰Λهड़͢Δඞཁ͕͋ Γ·͢ɻ Ωʔ ඞਢʁ આ໌ build
Yes ϫʔΫεϖʔεΛͲͷΑ͏ʹߏங͢Δ͔Λ هड़͠·͢ɻbuildΩʔɺeventsΩʔͷத Ͱඞͣࢦఆ͢Δඞཁ͕͋Γ·͢ɻ fail-on-build No ϏϧυΠϕϯτ͕ࣦഊͨ͠ࡍʹ࣮ߦ͞Ε· ͢ɻ post-deploy No ϏϧυΠϕϯτͷޙʹ࣮ߦ͞Ε·͢ɻ pr-merged No GithubϓϧϦΫΤετ͕ϕʔεϒϥϯνʹ Ϛʔδ͞Εͨࡍʹ࣮ߦ͞Ε·͢ɻ pr-closed No GithubϓϧϦΫΤετ͕Ϛʔδ͞Εͣʹด͡ ΒΕͨࡍʹ࣮ߦ͞Ε·͢ɻ events: build: steps: - setup-env: type: script script: - composer validate --no-check-all --ansi - composer install --ansi - source ${BLT_DIR}/scripts/pipelines/setup_env - validate: type: script script: - source ${BLT_DIR}/scripts/pipelines/validate post-deploy: steps: - deploy: script: - pipelines-deploy pr-merged: steps: - deploy: script: - pipelines-deploy pr-closed: steps: - deploy:
༻ՄೳͳίϚϯυ • Acquia PipelinesɺఆٛϑΝΠϧͰ༻ՄೳͳΧελϜίϚϯυΛ༻ҙ͍ͯ͠·͢ɻ ίϚϯυ આ໌ pipelines-artifact Node.jsΞϓϦέʔγϣϯͷΞʔςΟϑΝΫτΛϏϧυ/Ξοϓϩʔυ͠· ͢ɻ pipelines-deploy
࣮ߦ͞ΕͨΠϕϯτʹԠͯ͡ɺCDڥΛ࡞ɺσϓϩΠɺ·ͨআ͠· ͢ɻpost-deployΠϕϯτͰ࣮ߦ͞Εͨ߹ɺCDڥͷ࡞ͱΞʔςΟϑΝ ΫτͷσϓϩΠΛߦ͍·͢ɻpr-marged/pr-closedΠϕϯτͰ࣮ߦ͞Εͨ ߹ɺରͷCDڥΛআ͠·͢ɻ pipelines_metadata Ϗϧυ࣮ߦ͔ΒಘͨใΛଞͷεςοϓͰ༻͢ΔͨΊʹ༻͠·͢ɻ pipelines-sync-dbs Dev, StageͳͲͷڥͷσʔλϕʔεΛCDڥʹಉظ͠·͢ɻpipelines- sync-dbsίϚϯυΛ༻͢Δ߹ɺpipelines-deployίϚϯυ͕ඞਢͰ͢ɻ https://docs.acquia.com/cloud-platform/pipelines/commands/
Acquia Cloud Platformೖ ɹΞδΣϯμ • ΞʔςΟϑΝΫτͱ • Acquia Pipelines ͱ
• Acquia PipelinesΛ͡ΊΑ͏ • ఆٛϑΝΠϧͷղઆ • Q&A CI/CDπʔϧͰ։ൃϫʔΫϑϩʔ ΛࣗಈԽ͠Α͏
None