Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Acquia Cloud Platform入門:CI/CDツールで開発ワークフローを自動化しよう
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
アクイアジャパン 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
240
Drupal 10.3の新機能紹介ウェビナー
acquiajp
0
290
DrupalCon Portland 2024 総まとめウェビナー
acquiajp
0
140
開発者必見!Acquia Cloud IDEで最高のDrupal開発を始めよう
acquiajp
0
250
触って学ぶ!デジタルアセット管理 Acquia DAM ハンズオンウェビナー
acquiajp
0
61
DrupalCon Lille 2023 総まとめウェビナー
acquiajp
0
120
コンテンツ設計手法で変更に強いアプリケーションを実現する〜ローコードによるWebアプリのバックエンド実装 #CNDF2023
acquiajp
0
410
DrupalCon Pittsburgh 2023 総まとめウェビナー
acquiajp
0
110
Acquia製品概要&Site Studioデモのご紹介
acquiajp
0
150
Other Decks in Programming
See All in Programming
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
150
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
120
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1.1k
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
120
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
130
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
残高管理から台帳サービスへの進化
artoy
0
140
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
340
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
180
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
620
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
34
15k
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
740
Featured
See All Featured
How to Talk to Developers About Accessibility
jct
2
560
Optimizing for Happiness
mojombo
378
71k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Git: the NoSQL Database
bkeepers
PRO
433
67k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
550
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Navigating Team Friction
lara
192
16k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
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