Pantheon ã®ã²ã¹ãéçºè
ããŒã«äœæè
ããGitLab CI/CD ã䜿çšã㊠WordPress ãããã€ã¡ã³ããèªååããæ¹æ³ã«ã€ããŠèªããŸãã
Ð
éçºè ãåäžã®ã¹ããŒãžã³ã° ãµãŒããŒã§èŠåŽããŠããã®ãããèŠãããŸãã
äžéãµãŒããŒã䜿çšããé çªãåŸ ã€ããããããèŠãŠãã ããããã ãããŸã ããã¯èŠãŠããªãã§ãã ããããšãã泚èšãå«ã URL ãã¯ã©ã€ã¢ã³ãã«éä¿¡ããã®ã¯ããšãŠã楜ããããšã§ãã
ããããPantheon ã«ã¯ããŒãžã§ã³ç®¡çãç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãšããã〠(CI/CD) ã®ããã®ããŒã«ããããŸããã ãã ããããã¯ããããããŒã«ãçµ±åã§ããæè»ãªãã©ãããã©ãŒã ã§ãã
ãŸããããŒã ãéçºã«ã¯ç¹å®ã®ããŒã«ã䜿çšããã¢ã»ã³ããªãšå±éã«ã¯å¥ã®ããŒã«ã䜿çšããŠããããšã«ãæ°ã¥ããŸããã
ããšãã°ãããŒãžã§ã³ç®¡çãš CI/CD çšã«ããŸããŸãªããŒã«ããããŸãã ã³ãŒããç·šéããŠåé¡ã蚺æããã«ã¯ãããŒã«ãããã£ããåãæ¿ãããããå¿ èŠããããŸãã
Ðа
ç§ã¯èªååã倧奜ããªã®ã§ãPantheon ã GitLab ã«æ¥ç¶ããŠãGitLab ã®ã¡ã€ã³ ãã©ã³ããžã®ã³ãããã Pantheon ã®ã¡ã€ã³éçºç°å¢ã«ãããã€ãããããã«ããæ¹æ³ãåŠã³ãŸããã ãŸããGitLab ã®ããŒãž ãªã¯ãšã¹ãã«ãããã³ãŒããäœæã㊠Pantheon ã®ãã«ãéçºç°å¢ã«ãããã€ã§ããŸãã
ãã®ãã¥ãŒããªã¢ã«ã§ã¯ãGitLab ãš Pantheon éã®æ¥ç¶ãèšå®ããWordPress ãš Drupal ã®ã¯ãŒã¯ãããŒãæé©åããæ¹æ³ã説æããŸãã
ãã¡ããããã¯å¯èœã§ããã
å°å ¥
ãã®èšäºã§ã¯ãPantheon ãåãµã€ããã³ãŒããããŒã¿ããŒã¹ããã¡ã€ã«ã® XNUMX ã€ã®èŠçŽ ã«åå²ããŠããããšãç解ããå¿ èŠããããŸãã
ã³ãŒãã«ã¯ãWordPress ã³ã¢ããã©ã°ã€ã³ãããŒããªã©ã® CMS ãã¡ã€ã«ãå«ãŸããŠããŸãã ãããã®ãã¡ã€ã«ã¯æ¬¡ã®å Žæã§ç®¡çãããŸã
Pantheon ã®ãã¡ã€ã«ã¯ã¡ãã£ã¢ ãã¡ã€ã«ãã€ãŸããµã€ãã®ç»åã§ãã éåžžããããã¯ãŠãŒã¶ãŒã«ãã£ãŠã¢ããããŒããããGit ã¯ããããç¡èŠããŸãã
ä»®å®
Pantheon ãš GitLab äžã®ç§ã®ãããžã§ã¯ãã¯æ¬¡ã®ãšããã§ãã pantheon-gitlab-blog-demo
ã ãããžã§ã¯ãåã¯äžæã§ããå¿
èŠããããŸãã ããã§ã¯ WordPress ãµã€ããæäœããŸãã Drupal ã䜿çšããããšãã§ããŸãããããã€ãã®ç¹ãå€æŽããå¿
èŠããããŸãã
ç§ã䜿çšããŸã
ãããžã§ã¯ããäœæãã
ãŸããäœæããŸããã
ä»
ãã©ã°ã€ã³ã®åé€ãè¿œå ãªã©ãäœããå€æŽããããŠããããããŠããå Žåã¯ããã°ãããåŸ ã¡ãã ããã ãµã€ãã¯ãŸã GitLab ã«æ¥ç¶ãããŠããªãããããã¹ãŠã®ã³ãŒãå€æŽã GitLab çµç±ã§è¡ãå¿ èŠããããŸãã
WordPress ãã€ã³ã¹ããŒã«ããããPantheon Web ãµã€ãã®ããã·ã¥ããŒãã«æ»ããéçºã¢ãŒãã Git ã«å€æŽããŸãã
GitLab ã§ã®æåã®ã³ããã
次ã«ãåæã® WordPress ã³ãŒãã Pantheon ãµã€ããã GitLab ã«è»¢éããå¿ èŠããããŸãã ãããè¡ãã«ã¯ãPantheon ãµã€ãã® Git ãªããžããªããããŒã«ã«ã«ã³ãŒãã®ã¯ããŒã³ãäœæããããã GitLab ãªããžããªã«éä¿¡ããŸãã
ããç°¡åãã€å®å
šã«ãå©çšããã ãããã«ã
ãããè¡ãã«ã¯ããµã€ã ããã·ã¥ããŒãã® [Clone with Git] ãã£ãŒã«ãããã³ãã³ããã³ããŒããŠãPantheon ãµã€ãã®ã¯ããŒã³ãããŒã«ã«ã«äœæããŸãã
ãµããŒããå¿
èŠãªå Žåã¯ãããã¥ã¡ã³ãããèªã¿ãã ãã
ãããå€ããŠã¿ãŸããã git remote origin
Pantheon ã§ã¯ãªã GitLab ãæãããã«ããŸãã ã§ããã кПЌаМЎПй git remote
GitLab ãããžã§ã¯ãã«ç§»åãããããžã§ã¯ãã®è©³çŽ°ããŒãžã® [ã¯ããŒã³] ããããããŠã³ãããªããžã㪠URL ãã³ããŒããŸãããã SSH ããŒã¯ãã§ã«æ§æãããŠããããã[SSH ã䜿çšããŠã¯ããŒã³ãäœæ] ãªãã·ã§ã³ãéžæããŸãããã
ÐПÑЌПлÑÐ°ÐœÐžÑ git remote
ã³ãŒã ãªããžããªã®ããŒã«ã« ã³ããŒã®å Žå - origin
ã ããã¯å€æŽã§ããŸãã git remote set-url origin [URL ÑепПзОÑПÑÐžÑ GitLab]
, ããã§ãæ¬åŒ§ã®ä»£ããã«å®éã® URL ãå
¥åããŸãã
ã€ãã«ãæã¡äžããŸã git push origin master --force
WordPress ã³ãŒãã Pantheon ãã GitLab ã«ããã·ã¥ããŸãã
âforce ãªãã·ã§ã³ã¯ XNUMX åã ãå¿ èŠã§ãã ããããããŒã ã§
git push
GitLab ã«ã¯ååšããŸããã
è³æ Œæ å ±ãšå€æ°ã®ã»ããã¢ãã
Pantheon ãš GitLab ã«ãã°ã€ã³ããããã«ããŒã«ã«ã§ SSH ããŒãè¿œå ããæ¹æ³ãèŠããŠããŸãã? SSH ããŒã¯ã³ã¯ãGitLab ãš Pantheon ãèªèšŒããããã«äœ¿çšã§ããŸãã
GitLab ã«ã¯åªããããã¥ã¡ã³ãããããŸãã èŠãŠã¿ãŸããã
ããã§æåã® XNUMX ã€ã®ã¹ããããå®äºããŸãã ssh-keygen ã䜿çšããŠããŒã«ã«ã«æ°ãã SSH ã㌠ãã¢ãäœæããç§å¯ããŒãå€æ°ãšããŠãããžã§ã¯ãã«è¿œå ããŸããã.
ããã§ã¯ãå°ãããŸã SSH_PRIVATE_KEY
æ¹æ³
XNUMX çªç®ãš XNUMX çªç®ã®ã¹ãããã§ã¯ããã¡ã€ã«ãäœæããŸã .gitlab-ci.yml
次ã®ãããªå
容ã§:
before_script:
# See https://docs.gitlab.com/ee/ci/ssh_keys/README.html
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d 'r' | ssh-add - > /dev/null
- mkdir -p $HOME/.ssh && echo "StrictHostKeyChecking no" >> "$HOME/.ssh/config"
- git config --global user.email "$GITLAB_USER_EMAIL"
- git config --global user.name "Gitlab CI"
ãã¡ã€ã«ã¯ãŸã ã³ãããããªãã§ãã ãã .gitlab-ci.yml
, ãã®å Žåã¯ãããã«äœãä»ã®ãã®ãè¿œå ããå¿
èŠããããŸãã
ãã㧠XNUMX çªç®ã®ã¹ããããå®è¡ãã æåã®ã¹ãããã§äœæããå ¬éããŒãããã«ãç°å¢ã§ã¢ã¯ã»ã¹ããå¿ èŠããããµãŒãã¹ã«è¿œå ããŸãã.
ç§ãã¡ã®å Žåã¯ãGitLab ãã Pantheon ã«ã¢ã¯ã»ã¹ããããšèããŠããŸãã ãã³ããªã³ã®ææžã®æ瀺ã«åŸããŸãã
èŠããŠãããŠãã ãã: ãã©ã€ããŒã SSH 㯠GitLab ã«ããããªãŒãã³ SSH 㯠Pantheon ã«ãããŸãã
ããã«ããã€ãã®ç°å¢å€æ°ãèšå®ããŠã¿ãŸãããã æåã®ãã®ã¯ PANTHEON_SITE ãšåŒã°ããŸãã ãã®å€ã¯ããã·ã³äžã® Pantheon ãµã€ãã®ååã§ãã
ãã·ã³äžã®ååã¯ãClone with Git ã³ãã³ãã®æåŸã«ãªã¹ããããŸãã ãã§ã«ãµã€ãã®ã¯ããŒã³ãããŒã«ã«ã«äœæããŠããããããããããŒã«ã« ãªããžã㪠ãã£ã¬ã¯ããªã®ååã«ãªããŸãã
次ã«ãç°å¢å€æ°ãèšå®ããŸããã PANTHEON_GIT_URL
ã ããã¯ããã§ã«äœ¿çšããŠãã Pantheon ãµã€ãã® Git ãªããžã㪠URL ã§ãã
SSH ãªããžã㪠URL ã®ã¿ãå ¥åããŸãã
git clone
æåŸã«ãã·ã³äžã®ãµã€ãã®ååã衚瀺ãããŸãã
ãµãŒã ããã§ãã¡ã€ã«ãå®æãããããšãã§ããŸã .gitlab-ci.yml
.
ãããã€ã¡ã³ãã¿ã¹ã¯ãäœæãã
æåã« GitLab CI ã§è¡ãããšã¯ãéå»ã« Git ãªããžããªã§è¡ã£ãããšãšéåžžã«äŒŒãŠããŸãã ãã ããä»åã¯ãPantheon ãªããžããªã XNUMX çªç®ã®ãªã¢ãŒã Git ãœãŒã¹ãšããŠè¿œå ããã³ãŒãã GitLab ãã Pantheon ã«ããã·ã¥ããŸãããã
ãããè¡ãã«ã¯ãèšå®ããŸããã deploy
О deploy:dev
, Pantheon äžã®éçºç°å¢ã«ãããã€ããããã§ãã çµæã®ãã¡ã€ã« .gitlab-ci.yml
ããã¯æ¬¡ã®ããã«ãªããŸãã
stages:
- deploy
before_script:
# See https://docs.gitlab.com/ee/ci/ssh_keys/README.html
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d 'r' | ssh-add - > /dev/null
- mkdir -p $HOME/.ssh && echo "StrictHostKeyChecking no" >> "$HOME/.ssh/config"
- git config --global user.email "$GITLAB_USER_EMAIL"
- git config --global user.name "Gitlab CI"
deploy:dev:
stage: deploy
environment:
name: dev
url: https://dev-$PANTHEON_SITE.pantheonsite.io/
script:
- git remote add pantheon $PANTHEON_GIT_URL
- git push pantheon master --force
only:
- master
å€æ° SSH_PRIVATE_KEY, PANTHEON_SITE
О PANTHEON_GIT_URL
ãããã®ç°å¢å€æ°ã¯åã«èšå®ããŸããã ãããã®å€æ°ã䜿çšãããšããã¡ã€ã«å
ã®å€ã䜿çšã§ããããã«ãªããŸãã .gitlab-ci.yml
äœåºŠãæŽæ°ããå¿
èŠãããã®ã¯ XNUMX ãæã ãã§ãã
æåŸã«ããã¡ã€ã«ãè¿œå ãã³ããããéä¿¡ããŸã .gitlab-ci.yml
GitLab äžã§ã
å±éã確èªãââã
ãã¹ãŠãæ£ããå®è¡ããå Žåãã¿ã¹ã¯ã¯ deploy:dev
GitLab CI/CD ã§æ£åžžã«å®è¡ãããã³ããããéä¿¡ãããŸã .gitlab-ci.yml
ãã³ããªã³ã§ã èŠãŠã¿ãŸãããã
ããŒãž ãªã¯ãšã¹ã ã¹ã¬ããã Pantheon ã«éä¿¡ãã
ããã§ã¯ãç§ã®ãæ°ã«å
¥ãã® Pantheon æ©èœã䜿çšããŸã-
ãŸãã次ã䜿çšããŠããŒã«ã«ã«æ°ãã Git ãã©ã³ããäœæããŸããã git checkout -b multidev-support
ã ã§ã¯ãããäžåºŠäœããå€æŽããŠã¿ãŸããã .gitlab-ci.yml
.
ç§ã¯ Pantheon ç°å¢åã«ããŒãž ãªã¯ãšã¹ãçªå·ãå«ããããšã奜ã¿ãŸãã ããšãã°ãæåã®ããŒãž ãªã¯ãšã¹ãã¯æ¬¡ã®ããã«ãªããŸãã mr-1
ã XNUMXçª - mr-2
ç
ããŒãž ãªã¯ãšã¹ãã¯å€åãããããPantheon ãã©ã³ãåãåçã«æ±ºå®ããå¿
èŠããããŸãã GitLab ã§ã¯ç°¡åã§ãã䜿çšããã ãã§ãã
ç§ãã¡ã¯åãããšãã§ããŸã $CI_MERGE_REQUEST_IID
ããŒãžãªã¯ãšã¹ãçªå·ãæå®ããŸãã ããããã¹ãŠãåã«æå®ããã°ããŒãã«ç°å¢å€æ°ãšãšãã«é©çšãããã¡ã€ã«ã®æåŸã«æ°ããdeploy:multidevã¿ã¹ã¯ãè¿œå ããŸãããã .gitlab-ci.yml
.
deploy:multidev:
stage: deploy
environment:
name: multidev/mr-$CI_MERGE_REQUEST_IID
url: https://mr-$CI_MERGE_REQUEST_IID-$PANTHEON_SITE.pantheonsite.io/
script:
# Checkout the merge request source branch
- git checkout $CI_COMMIT_REF_NAME
# Add the Pantheon git repository as an additional remote
- git remote add pantheon $PANTHEON_GIT_URL
# Push the merge request source branch to Pantheon
- git push pantheon $CI_COMMIT_REF_NAME:mr-$CI_MERGE_REQUEST_IID --force
only:
- merge_requests
ããã¯ç§ãã¡ã®ã¿ã¹ã¯ãšäŒŒãŠããŸã deploy:dev
ããã©ã³ãã®ã¿ããã³ããªã³ã«éä¿¡ããããã³ããªã³ã«ã¯éä¿¡ãããŸããã master
.
æŽæ°ããããã¡ã€ã«ãè¿œå ããŠã³ãããããŸãã .gitlab-ci.yml
ã§ã¯ãæ°ãããã©ã³ãã GitLab ã«ããã·ã¥ããŸãããã git push -u origin multidev-support
.
次ã«ããã©ã³ãããæ°ããããŒãžãªã¯ãšã¹ããäœæããŸããã multidev-support
ãæŒãããšã«ãã£ãŠ ããŒãžãªã¯ãšã¹ãã®äœæ.
ããŒãžãªã¯ãšã¹ããäœæããããCI/CDã¿ã¹ã¯ãã©ã®ããã«å®è¡ããããã確èªããŸãã deploy:multidev
.
æ°ããã¹ã¬ããããã³ããªã³ã«éä¿¡ãããŸããã ãã ããPantheon ãµã€ãã®ããã·ã¥ããŒãã® multidev ã»ã¯ã·ã§ã³ã«ç§»åããŠããããã«æ°ããç°å¢ã¯è¡šç€ºãããŸããã
Git ãã©ã³ãã»ã¯ã·ã§ã³ãèŠãŠã¿ãŸãããã
ãã®çµæãç§ãã¡ã®ã¹ã¬ãã㯠mr-1
ãã³ããªã³ã«çããŸããã ãã©ã³ãããç°å¢ãäœæããŠã¿ãã mr-1
.
ãã«ãéçºç°å¢ãäœæããŸãããGitLab ã«æ»ã£ãŠã»ã¯ã·ã§ã³ãèŠãŠã¿ãŸãããã æäœ > ç°å¢ã ã®ãšã³ããªã衚瀺ãããŸã dev
О mr-1
.
ããã¯ãšã³ããªãè¿œå ããããã§ã environment
åå㧠name
О url
CI/CD ã¿ã¹ã¯ã«çµã¿èŸŒã¿ãŸãã ç°å¢ãéãã¢ã€ã³ã³ãã¯ãªãã¯ãããšãPantheon äžã®ãã«ãéçºç°å¢ã® URL ã«ç§»åããŸãã
multidev ã®äœæãèªååãã
ååãšããŠãããã§åæ¢ããããŒãž ãªã¯ãšã¹ãããšã«ãã«ãéçºç°å¢ãäœæããããšãå¿ããªãã§ãã ããããã ãããã®ããã»ã¹ã¯èªååã§ããŸãã
Pantheon ã«ã¯ã³ãã³ãã©ã€ã³ ããŒã«ããããŸã
ããããã¹ãããã«ã¯ãæ°ããããŒãž ãªã¯ãšã¹ããå¿
èŠã§ãã ã䜿çšããŠæ°ãããã©ã³ããäœæããŸããã git checkout -b auto-multidev-creation
.
GitLab CI/CD ã¿ã¹ã¯ã§ Terminus ã䜿çšããã«ã¯ãTerminus ã§ã®èªèšŒçšã®ãã·ã³ ããŒã¯ã³ãš Terminus ã§ã®ã³ã³ãã ã€ã¡ãŒãžãå¿ èŠã§ãã
PANTHEON_MACHINE_TOKEN
.
GitLab ç°å¢å€æ°ã®è¿œå æ¹æ³ãå¿ããå Žåã¯ãå®çŸ©ããå Žæã«æ»ã£ãŠãã ããã
PANTHEON_SITE
.
Terminus ã䜿çšãã Dockerfile ã®äœæ
Docker ã䜿çšããªãå ŽåããŸãã¯ãã¡ã€ã«ã奜ãã§ã¯ãªãå Žå Dockerfile
ãç§ã®ç»åãæ®ã£ãŠãã ãã registry.gitlab.com/ataylorme/pantheon-gitlab-blog-demo:latest
ãã®ã»ã¯ã·ã§ã³ã¯ã¹ãããããŠãã ããã
Terminus 㯠PHP ã³ãã³ã ã©ã€ã³ ããŒã«ãªã®ã§ãPHP ã€ã¡ãŒãžããå§ããŸãããã Composer ãä»ã㊠Terminus ãã€ã³ã¹ããŒã«ããŠããã®ã§ã次ã䜿çšããŸãã Dockerfile
ããŒã«ã« ãªããžã㪠ãã£ã¬ã¯ããªã«æ¬¡ã®å
容ãå«ãŸããŸãã
# Use the official Composer image as a parent image
FROM composer:1.8
# Update/upgrade apk
RUN apk update
RUN apk upgrade
# Make the Terminus directory
RUN mkdir -p /usr/local/share/terminus
# Install Terminus 2.x with Composer
RUN /usr/bin/env COMPOSER_BIN_DIR=/usr/local/bin composer -n --working-dir=/usr/local/share/terminus require pantheon-systems/terminus:"^2"
ã»ã¯ã·ã§ã³ã®ç»åã®çµã¿ç«ãŠãšéä¿¡ã®æé ã«åŸã£ãŠãã ããã ã€ã¡ãŒãžãæ§ç¯ããŠããã·ã¥ãã в Dockerfile
ããã GitLab ã«ããã·ã¥ããŸãã
ã»ã¯ã·ã§ã³ãéã ã¬ãžã¹ã㪠GitLab ãããžã§ã¯ãå
ã ãã¹ãŠãèšç»éãã«é²ãã°ãç§ãã¡ã®ã€ã¡ãŒãžãããã«ããã§ãããã ç»åã¿ã°ãžã®ãªã³ã¯ãæžãçããŸã - ãã¡ã€ã«ã«å¿
èŠã§ã .gitlab-ci.yml
.
ã»ã¯ã·ã§ã³ script
åé¡ã®äžã§ deploy:multidev
倧ãããªãå§ããŠããã®ã§ãå¥ã®ãã¡ã€ã«ã«ç§»åããŸãããã æ°ãããã¡ã€ã«ãäœæãã private/multidev-deploy.sh:
#!/bin/bash
# Store the mr- environment name
export PANTHEON_ENV=mr-$CI_MERGE_REQUEST_IID
# Authenticate with Terminus
terminus auth:login --machine-token=$PANTHEON_MACHINE_TOKEN
# Checkout the merge request source branch
git checkout $CI_COMMIT_REF_NAME
# Add the Pantheon Git repository as an additional remote
git remote add pantheon $PANTHEON_GIT_URL
# Push the merge request source branch to Pantheon
git push pantheon $CI_COMMIT_REF_NAME:$PANTHEON_ENV --force
# Create a function for determining if a multidev exists
TERMINUS_DOES_MULTIDEV_EXIST()
{
# Stash a list of Pantheon multidev environments
PANTHEON_MULTIDEV_LIST="$(terminus multidev:list ${PANTHEON_SITE} --format=list --field=id)"
while read -r multiDev; do
if [[ "${multiDev}" == "$1" ]]
then
return 0;
fi
done <<< "$PANTHEON_MULTIDEV_LIST"
return 1;
}
# If the mutltidev doesn't exist
if ! TERMINUS_DOES_MULTIDEV_EXIST $PANTHEON_ENV
then
# Create it with Terminus
echo "No multidev for $PANTHEON_ENV found, creating one..."
terminus multidev:create $PANTHEON_SITE.dev $PANTHEON_ENV
else
echo "The multidev $PANTHEON_ENV already exists, skipping creating it..."
fi
ã¹ã¯ãªããã¯ãã©ã€ããŒã ãã£ã¬ã¯ããªã«ããã deploy:multidev
ãã¡ã€ã« .gitlab-ci.yml
次ã®ããã«ãªããŸã:
deploy:multidev:
stage: deploy
environment:
name: multidev/mr-$CI_MERGE_REQUEST_IID
url: https://mr-$CI_MERGE_REQUEST_IID-$PANTHEON_SITE.pantheonsite.io/
script:
# Run the multidev deploy script
- "/bin/bash ./private/multidev-deploy.sh"
only:
- merge_requests
äœæããã«ã¹ã¿ã ã€ã¡ãŒãžã§ã¿ã¹ã¯ãå®è¡ãããããšã確èªããå¿
èŠããããããå®çŸ©ãè¿œå ããŸããã image
ã¬ãžã¹ã㪠URL ãã .gitlab-ci.yml
ã ãã®çµæããã®ãããªãã¡ã€ã«ãåºæ¥äžãããŸãã .gitlab-ci.yml
:
image: registry.gitlab.com/ataylorme/pantheon-gitlab-blog-demo:latest
stages:
- deploy
before_script:
# See https://docs.gitlab.com/ee/ci/ssh_keys/README.html
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d 'r' | ssh-add - > /dev/null
- mkdir -p $HOME/.ssh && echo "StrictHostKeyChecking no" >> "$HOME/.ssh/config"
- git config --global user.email "$GITLAB_USER_EMAIL"
- git config --global user.name "Gitlab CI"
deploy:dev:
stage: deploy
environment:
name: dev
url: https://dev-$PANTHEON_SITE.pantheonsite.io/
script:
- git remote add pantheon $PANTHEON_GIT_URL
- git push pantheon master --force
only:
- master
deploy:multidev:
stage: deploy
environment:
name: multidev/mr-$CI_MERGE_REQUEST_IID
url: https://mr-$CI_MERGE_REQUEST_IID-$PANTHEON_SITE.pantheonsite.io/
script:
# Run the multidev deploy script
- "/bin/bash ./private/multidev-deploy.sh"
only:
- merge_requests
è¿œå ãã³ããããéä¿¡ private/multidev-deploy.sh
О .gitlab-ci.yml
ã 次ã«ãGitLab ã«æ»ããCI/CD ã¿ã¹ã¯ãå®äºããã®ãåŸ
ã¡ãŸãã ãã°ãããåŸ
ã¡ãã ãããmultidev ã®äœæã«ã¯æ°åãããå ŽåããããŸãã
次ã«ãPantheon ã® multidev ãªã¹ãã確èªããŸãã ããå¥è·¡ïŒ ãã«ãéçºç°å¢ mr-2
ããããã«ããã
ãŸãšã
ããŒãžãªã¯ãšã¹ããéããŠç°å¢ãèªåçã«äœæãå§ããŠãããç§ã®ããŒã ã¯ããã«æ¥œãããªããŸããã
GitLab ãš Pantheon ã®åŒ·åãªããŒã«ã䜿çšãããšãGitLab ã Pantheon ã«èªåçã«æ¥ç¶ã§ããŸãã
ç§ãã¡ã¯ GitLab CI/CD ã䜿çšããŠãããããã¯ãŒã¯ãããŒã«ã¯æ¡åŒµã®äœå°ããããŸãã å§ããããã®ã¢ã€ãã¢ãããã€ã玹ä»ããŸãã
- ãã«ãã¹ããããè¿œå ããŸãã
- èªåãã¹ããè¿œå ããŸãã
- ã³ãŒãæšæºãæºããããŠããããšã確èªããã¿ã¹ã¯ãè¿œå ããŸãã
- è¿œå ãã
åçã¢ããªã±ãŒã·ã§ã³ã»ãã¥ãªãã£ãã¹ã .
GitLabãPantheonãèªååã«ã€ããŠã®ãæèŠããèãããã ããã
PS Pantheon ã®ã³ãã³ã ã©ã€ã³ ããŒã«ã§ãã Terminus ããåç¥ã§ããã?
ç§ãã¡ãã³ããªã³ã¯ãããŒãžã§ã³ 2 ã§è¯ãä»äºãããŸããã build:project:create
å¿
èŠãªã®ã¯ Pantheon ããŒã¯ã³ãš GitLab ããŒã¯ã³ã®ã¿ã§ãã 圌女ã¯ãComposer ãšèªåãã¹ããåãããµã³ãã« ãããžã§ã¯ãã® XNUMX ã€ããããã€ããGitLabãæ°ãã Pantheon ãµã€ãã«æ°ãããããžã§ã¯ããäœæããç°å¢å€æ°ãš SSH ããŒã䜿çšããŠããããæ¥ç¶ããŸãã
èè ã«ã€ããŠ
Andrew Taylor ã¯éçºè
åãã®ããŒã«ãäœæããŠããŸã
åºæïŒ habr.com