Faʻafefea ona faʻafesoʻotaʻi GitLab ma Pantheon ma faʻaleleia le Drupal ma le WordPress Workflows

Faʻafefea ona faʻafesoʻotaʻi GitLab ma Pantheon ma faʻaleleia le Drupal ma le WordPress Workflows
O le matou tagata faʻapitoa faʻapitoa mea faigaluega i Pantheon talanoa e uiga i le faʻaogaina o le faʻaogaina o WordPress e faʻaaoga ai le GitLab CI / CD.

В Pantheon Ou te galue i le atinaʻeina o fesoʻotaʻiga, o lea o loʻo ou sailia pea ni auala fou e fesoasoani ai i le WordPress ma Drupal developers e foia faʻafitauli otometi i a latou galuega. Ina ia faia lenei mea, ou te fiafia e faʻataʻitaʻi i mea faigaluega fou ma tuʻufaʻatasia ma le tasi ma le isi e galue lelei.

E masani ona ou vaʻai i le au atinaʻe o loʻo tauivi ma se 'auʻaunaga faʻatulagaina e tasi.

O se fiafiaga le faʻatali mo lou taimi e faʻaaoga ai se 'auʻaunaga vavalalata pe lafo atu i tagata faʻatau se URL ma le faʻamatalaga: "Vaai iinei, ae aua le tilotilo iinei."

Si'osi'omaga teledev - o se tasi o mea manaia Pantheon - foia lenei faafitauli, aua oi latou e mafai ona e fatuina siosiomaga mo lala Git pe a manaʻomia. O si'osi'omaga multidev ta'itasi e iai lana URL ma fa'amaumauga, ina ia mafai e tagata atia'e ona galulue filemu, siaki lelei, ma maua le fa'atagaga e aunoa ma le la'a i tamatama'ivae o le tasi.

Ae Pantheon e leai ni mea faigaluega mo le faʻatonutonuina o faʻamatalaga poʻo le faʻaauauina o le tuʻufaʻatasia ma le faʻapipiʻiina (CI/CD). Ae o se tulaga fetuutuunai e mafai ona e tuʻufaʻatasia soʻo se meafaigaluega.

Na ou matauina foi o 'au e faʻaaoga nisi meafaigaluega mo le atinaʻe, ma eseese mo le faʻapotopotoga ma le faʻapipiʻiina.

Mo se faʻataʻitaʻiga, e iai a latou meafaigaluega eseese mo le faʻatonutonuina o faʻamatalaga ma le CI / CD. E tatau ona e taamilo solo ma fesuiai i le va o meafaigaluega e faʻasaʻo ai le code ma faʻamaonia faafitauli.

i GitLab o loʻo i ai se seti atoa o meafaigaluega faʻaleleia: mo le faʻatonutonuina o faʻasalalauga, tiketi, tuʻufaʻatasia talosaga, se paipa CI / CD sili ona lelei, se resitala o pusa, ma mea uma faapena. Ou te le'i o'o lava i se talosaga e ofoina atu le tele o mea e fa'atautaia ai lau su'ega galuega.

Ou te fiafia i le masini, o lea na ou aʻoaʻoina ai pe faʻafefea ona faʻafesoʻotaʻi Pantheon i GitLab ina ia tuʻuina atu i le lala autu i GitLab e faʻapipiʻiina i le atinaʻe autu o le siosiomaga i Pantheon. Ma tuʻufaʻatasia talosaga ile GitLab e mafai ona fatuina ma faʻapipiʻi code i multidev siosiomaga i Pantheon.

I lenei aʻoaʻoga, o le a ou taʻitaʻia oe ile auala e faʻapipiʻi ai se fesoʻotaʻiga i le va o GitLab ma Pantheon ma faʻamalieina lau galuega galue WordPress ma Drupal.

Ioe e mafai, fa'ata GitLab faleoloa, ae o le a tatou faia mea uma i o tatou lima e suʻesuʻe ai GitLab CI ma i le lumanaʻi faʻaaoga lenei meafaigaluega e le gata mo le faʻapipiʻiina.

Faatomuaga

Mo lenei pou, e tatau ona e malamalama o Pantheon e talepeina nofoaga taʻitasi i lalo i elemene e tolu: code, database, ma faila.

O le tulafono e aofia ai faila CMS e pei ole WordPress core, plugins, ma autu. O faila nei e pulea i totonu Git faleoloa, faʻafeiloaʻi e Pantheon, o lona uiga e mafai ona matou faʻapipiʻi le code mai GitLab i Pantheon ma Git.
O faila i Pantheon o faila faʻasalalau, o lona uiga, ata mo le saite. E masani lava ona faʻapipiʻiina e tagata faʻaoga ma e le amanaʻia e Git.

Fausia se teugatupe e leai se totogi, saili atili e uiga i Pantheon galuega fai poʻo saini mo se demo i le pantheon.io.

Mafaufauga

O laʻu poloketi i Pantheon ma GitLab ua taʻua pantheon-gitlab-blog-demo. E tatau ona tulaga ese le igoa o le poloketi. O iinei o le a matou galulue ai ma se WordPress site. E mafai ona e ave Drupal, ae e manaʻomia le suia o nisi mea.

O le a ou faaaogaina Git laina fa'atonugama e mafai ona e galue i totonu fa'aoga fa'akalafi, pe a e mana'o ai.

Fausia se poloketi

Muamua, tatou fatuina Poloketi GitLab (o le a tatou toe foi mai i lenei mea mulimuli ane).

O lenei fatuina o se upega tafaʻilagi WordPress i Pantheon. Ona matou faʻapipiʻi lea o le WordPress mo le dashboard site.

Afai e maʻi ou lima e sui se mea, mo se faʻataʻitaʻiga, aveese pe faʻaopoopo plugins, ia onosai. O le saite e leʻi fesoʻotaʻi i GitLab, ma matou te manaʻo e faʻaoga uma suiga code i GitLab.

O le taimi lava matou te faʻapipiʻi ai le WordPress, toe foʻi i le laupepa o le upega tafaʻilagi a Pantheon ma sui le faiga faʻaleleia i Git.

Faʻafefea ona faʻafesoʻotaʻi GitLab ma Pantheon ma faʻaleleia le Drupal ma le WordPress Workflows

Ta'utinoga muamua ile GitLab

Ole taimi nei e te manaʻomia le tuʻuina atu o le uluai code WordPress mai le Pantheon site ile GitLab. Ina ia faia lenei mea, matou te faʻapipiʻi le code mai le Git repository o le Pantheon site i le lotoifale, ona auina atu lea i le GitLab repository.

Ina ia faigofie ma saogalemu, fa'aopoopo se ki SSH ile Pantheon ma e le tatau ona matou ulufale i se upu faʻaulu i taimi uma matou te faʻapipiʻi ai se faleteuoloa Pantheon Git. I le taimi lava e tasi ua leva fa'aopoopo se ki SSH ile GitLab.

Ina ia faia lenei mea, faʻapipiʻi le upega tafaʻilagi a Pantheon i le lotoifale e ala i le kopiina o le poloaiga mai le Clone ma le Git fanua i luga o le upega tafaʻilagi dashboard.

Faʻafefea ona faʻafesoʻotaʻi GitLab ma Pantheon ma faʻaleleia le Drupal ma le WordPress Workflows
Afai e te manaʻomia se fesoasoani, faitau le faʻamaumauga amata i Git mo Pantheon.

Ia tatou sui nei git remote origine tusi i GitLab nai lo Pantheon. E mafai ona fai командой git remote.

Sei o tatou i le poloketi GitLab ma kopi le URL o le teu oloa mai le Clone dropdown i luga o le itulau auiliiliga o galuega. Sei o tatou filifili le Clone ma le SSH filifiliga, aua ua uma ona tatou faʻatulagaina le SSH ki.

Faʻafefea ona faʻafesoʻotaʻi GitLab ma Pantheon ma faʻaleleia le Drupal ma le WordPress Workflows

e faaletonu git remote mo se kopi faʻapitonuʻu o le faʻamaumauga code - origin. E mafai ona suia lea i git remote set-url origin [URL репозитория GitLab], lea nai lo puipui tatou te ulufale i le URL moni.

Mulimuli ane, matou te tatalaina git push origin master --forcee tulei le code WordPress mai Pantheon i GitLab.

Ole filifiliga -force e na'o le tasi e mana'omia. Ona sosoo ai lea ma 'au git push e le o iai ile GitLab.

Fa'atulagaina o fa'amaoniga ma fesuiaiga

Manatua pe faʻafefea ona matou faʻaopoopoina se SSH ki i le lotoifale e ulufale ai i Pantheon ma GitLab? E mafai ona fa'aoga le fa'ailoga SSH e fa'atagaina ai GitLab ma Pantheon.

GitLab o loʻo i ai faʻamaumauga sili ona lelei. Sei o tatou vaai vaega i SSH ki pe a faʻaaoga le Docker executor i le pepa faʻaoga i le faʻaogaina o SSH ki ma GitLab CI / CD.

O le a matou faʻamaeʻaina nei laasaga muamua e lua: Sei o tatou fatuina se pa'aga SSH fou i le lotoifale ma ssh-keygen ma faʻaopopo le ki faʻapitoa e fai ma fesuiaiga i le poloketi.

Ona tatou fesili atu lea SSH_PRIVATE_KEY auala GitLab CI/CD siosiomaga fesuiaiga i le fa'atulagaina o galuega.
I le laasaga lona tolu ma le fa o le a matou fatuina se faila .gitlab-ci.yml ma mea e pei o lenei:

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"

Se'i tatou le tu'uina atu le faila .gitlab-ci.yml, ona e manaʻomia lea e faʻaopoopo i ai se isi mea.

O lea tatou te faia le laasaga lona lima ma fa'aopoopo le ki fa'alilolilo na e faia i le laasaga muamua i au'aunaga e te mana'omia le avanoa i totonu o le siosiomaga faufale.

I la matou tulaga, matou te fia maua Pantheon mai GitLab. Matou te mulimuli i faʻatonuga i le Pantheon pepa i luga fa'aopoopo se ki SSH i Pantheon ma fai lenei laasaga.

Manatua: SSH tumaoti o loʻo i GitLab, tatala SSH i Pantheon.

Se'i o tatou fa'atutuina ni nai si'osi'omaga fesuisuia'i. O le mea muamua e ta'ua PANTHEON_SITE. O lona tau o le igoa o le Pantheon site i lau masini.

O le igoa i luga o le masini o loʻo lisiina i le pito o le Clone ma le Git command. Ua uma ona e kopiina le saite i le lotoifale, o le a avea lea ma igoa o le lisi o fale teu oloa.

Faʻafefea ona faʻafesoʻotaʻi GitLab ma Pantheon ma faʻaleleia le Drupal ma le WordPress Workflows

Sosoo ai, se'i o tatou seti le fesuiaiga o le siosiomaga PANTHEON_GIT_URL. O le Git repository URL mo le Pantheon site ua uma ona matou faʻaogaina.

Ulufale na'o le SSH repository URL, e aunoa ma git clone ma le igoa ole nofoaga i luga ole masini ile pito.

Fiu. Ua uma lena, ua mafai nei ona faauma la tatou faila .gitlab-ci.yml.

Fausia se galuega fa'apipi'i

O le mea o le a matou faia muamua ma GitLab CI e talitutusa lava ma mea na matou faia i Git repositories i aso ua tuanaʻi. Ae o le taimi lenei, seʻi o tatou faʻaopopo le faleteuoloa Pantheon e avea ma punaoa lona lua Git mamao, ona tulei lea o le code mai GitLab i Pantheon.

Ina ia faia lenei mea, seʻi o tatou configure tulaga deploy и galuega deploy:dev, aua o le a matou faʻapipiʻiina i le atinaʻe siosiomaga i Pantheon. Le faila faila .gitlab-ci.yml o le a pei o lenei:

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

Fesuiaʻiga SSH_PRIVATE_KEY, PANTHEON_SITE и PANTHEON_GIT_URL e tatau ona foliga masani - matou te setiina nei suiga o le siosiomaga muamua. Faatasi ai ma nei fesuiaiga o le a mafai ai ona matou faʻaogaina tau i le faila .gitlab-ci.yml i le tele o taimi, ma e na o le tasi le nofoaga e manaʻomia ona faʻafouina.

Mulimuli ane, faʻaopoopo, taʻutino ma lafo le faila .gitlab-ci.yml luga ole GitLab.

Siaki le fa'apipi'iina

Afai tatou te faia mea uma sa'o, o le galuega deploy:dev o le a tamoʻe manuia i GitLab CI/CD ma tuʻuina atu se tautinoga .gitlab-ci.yml i Pantheon. Se'i tatou va'ai.

Faʻafefea ona faʻafesoʻotaʻi GitLab ma Pantheon ma faʻaleleia le Drupal ma le WordPress Workflows

Faʻafefea ona faʻafesoʻotaʻi GitLab ma Pantheon ma faʻaleleia le Drupal ma le WordPress Workflows

Faʻafefea ona faʻafesoʻotaʻi GitLab ma Pantheon ma faʻaleleia le Drupal ma le WordPress Workflows

Tuuina atu o filo talosaga tu'ufa'atasi i Pantheon

O iinei o le a matou faʻaogaina ai laʻu mea e sili ona ou fiafia i ai Pantheon − teledev, lea e mafai ai ona e fatuina ni siosiomaga Pantheon faaopoopo mo lala Git pe a manaʻomia.

Ole avanoa ile multidev e fa'atapula'aina, o lea e mafai ai ona faamisi lenei vaega. Ae afai e te maua le avanoa, e mafai ona e matua faʻateleina le gaosiga e ala i le faʻatulagaina otometi o siosiomaga multidev i Pantheon mai GitLab merge talosaga.

Muamua tatou faia se lala Git fou i le lotoifale e faʻaaoga git checkout -b multidev-support. Ia tatou toe sui se mea i totonu .gitlab-ci.yml.

Ou te fiafia e aofia ai le numera talosaga tuʻufaʻatasia i le igoa Pantheon environment. Mo se faʻataʻitaʻiga, o le talosaga tuʻufaʻatasia muamua o le mr-1, tulaga lua - mr-2 ma isi.

E suia le talosaga tu'ufa'atasi, o lea e mana'omia ai le fa'amaninoina o igoa o lala o Pantheon. E faigofie ile GitLab - na'o lou fa'aoga fesuia'i si'osi'omaga mua'i fa'avasegaina.

E mafai ona tatou ave $CI_MERGE_REQUEST_IIDe ta'u mai ai le numera talosaga tu'ufa'atasi. Sei o tatou faʻaogaina uma nei mea faʻatasi ai ma suiga o le siosiomaga o le lalolagi na matou faʻamaonia muamua ma faʻaopoopo se galuega fou: multidev galuega i le pito o le faila. .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

O le a tutusa ma la tatou galuega deploy:dev, na o le lala e auina atu i Pantheon, ae le o master.

Ua matou faʻaopoopoina ma tuʻuina atu le faila fou .gitlab-ci.yml, ma o lea tatou tuleia se lala fou i GitLab ma git push -u origin multidev-support.

Se'i o tatou faia se talosaga tu'ufa'atasi fou mai le lala multidev-supporti le kilikiina Fausia se talosaga tu'ufa'atasi.

Faʻafefea ona faʻafesoʻotaʻi GitLab ma Pantheon ma faʻaleleia le Drupal ma le WordPress Workflows

I le faia o se talosaga tuʻufaʻatasia, matou te vaʻavaʻai pe faʻapefea ona faʻatinoina le galuega CI / CD deploy:multidev.

Faʻafefea ona faʻafesoʻotaʻi GitLab ma Pantheon ma faʻaleleia le Drupal ma le WordPress Workflows

Va'ai, ua lafoina se filo fou i Pantheon. Ae afai tatou te o atu i le vaega multidev i luga o le upega tafaʻilagi a Pantheon dashboard, tatou te le vaʻaia le siosiomaga fou iina

Faʻafefea ona faʻafesoʻotaʻi GitLab ma Pantheon ma faʻaleleia le Drupal ma le WordPress Workflows

Se'i o tatou va'ai ile vaega ole Git Branches.

Faʻafefea ona faʻafesoʻotaʻi GitLab ma Pantheon ma faʻaleleia le Drupal ma le WordPress Workflows

O se taunuuga, o la matou filo mr-1 taunuu i Pantheon. Tatou fausia se siosiomaga mai se lala mr-1.

Faʻafefea ona faʻafesoʻotaʻi GitLab ma Pantheon ma faʻaleleia le Drupal ma le WordPress Workflows

Ua matou fatuina se siosiomaga multidev, o lea tatou toe foi i GitLab ma tilotilo i le vaega Galuega > Si'osi'omaga. O le a tatou vaʻai i faʻamatalaga mo dev и mr-1.

E mafua ona ua matou fa'aopoopoina se fa'amatalaga environment Ma igoa name и url i galuega CI/CD. Afai tatou te kiliki i luga o le ata tatala siosiomaga, o le a ave i tatou i le URL o le siosiomaga multidev i Pantheon.

Otometi le fausiaina o multidev

I le faʻavae, e mafai ona e taofi iinei ma naʻo le manatua e fatuina se siosiomaga multidev mo talosaga tuʻufaʻatasia taʻitasi, ae o lenei faiga e mafai ona otometi.

Pantheon ei ai se meafaigaluega laina laina Faʻaiʻuga, lea e mafai ona e galue ai ma le tulaga otometi. Terminus e mafai ai ona e fatuina ni siosiomaga multidev mai le laina o le poloaiga - lelei mo GitLab CI.

Matou te manaʻomia se talosaga tuʻufaʻatasiga fou e suʻe ai lenei mea. Tatou faia se lala fou e faaaoga ai git checkout -b auto-multidev-creation.

Mo le faʻaogaina o Terminus i galuega GitLab CI / CD, e te manaʻomia se faʻailoga masini mo le faʻamaonia ma Terminus ma se ata atigipusa ma Terminus.

Fausia se Pantheon Machine Token, faʻasaoina i se nofoaga saogalemu ma faʻaopopo e avea o se fesuiaiga o le siosiomaga o le lalolagi i GitLab ma le igoa PANTHEON_MACHINE_TOKEN.

Afai na galo ia te oe le faʻaopoopoina o suiga ole siosiomaga GitLab, toe foʻi i le mea na matou faʻamatalaina PANTHEON_SITE.

Fausia se Dockerfile ma Terminus

Afai e te le faʻaaogaina Docker pe e te le fiafia i faila Dockerfile, ave lo'u ata registry.gitlab.com/ataylorme/pantheon-gitlab-blog-demo:latest ma faamisi lenei vaega.

GitLab o loʻo i ai se resitala o pusa, lea e mafai ai ona tatou fausia ma tuu le Dockerfile mo la tatou galuega faatino. Sei o tatou fatuina se Dockerfile ma Terminus e galulue ai ma Pantheon.

O le Terminus o se meafaigaluega laina laina PHP, o lea tatou amata i le ata PHP. O loʻo ou faʻapipiʻi Terminus e ala i le Composer, o lea o le a ou faʻaaogaina ata aloaia Docker Composer. Tatou te fatuina Dockerfile i totonu o le faleteuoloa fa'apitonu'u fa'atasi ai ma mea nei:

# 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"

Mulimuli i faʻatonuga mo le faʻapipiʻiina ma le lafoina o ata mai le vaega Fausia ma tulei ata в pepa resitala o pusae ao mai se ata mai Dockerfile ma tulei i GitLab.

Tatala le vaega Resitala i le poloketi GitLab. Afai e alu mea uma e tusa ai ma le fuafuaga, o le a iai la tatou ata. Tusi i lalo se sootaga i le pine ata - matou te manaʻomia mo le faila .gitlab-ci.yml.

Faʻafefea ona faʻafesoʻotaʻi GitLab ma Pantheon ma faʻaleleia le Drupal ma le WordPress Workflows

Fuaiupu script i le faafitauli deploy:multidev ua amata ona tupu, o lea sei o tatou siitia i se faila ese. Fausia se faila fou 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

O lo'o iai le fa'amatalaga i totonu o se lisi patino ma e le fa'atagaina le 'upega tafa'ilagi i Pantheon. E i ai le matou tusitusiga mo la matou multidev logic. Sei o tatou faafou le vaega deploy:multidev faila .gitlab-ci.ymlina ia foliga mai e faapea:

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

E manaʻomia ona tatou faʻamautinoa o loʻo faʻatinoina a tatou galuega i le ata masani na faia, o lea tatou faʻaopoopoina se faʻamatalaga image mai le resitala URL i .gitlab-ci.yml. O se taunuuga, na matou iu i se faila e pei o lenei .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

Faaopoopo, tautino ma auina atu private/multidev-deploy.sh и .gitlab-ci.yml. O lea matou te toe foʻi i GitLab ma faʻatali mo le galuega CI / CD e maeʻa. Ia onosai: multidev e mafai ona alu ni nai minute e fai ai.

Ona matou o ai lea e tilotilo i le lisi multidev i Pantheon. Oi vavega! Siosiomaga teledev mr-2 ua i ai iinei.

Faʻafefea ona faʻafesoʻotaʻi GitLab ma Pantheon ma faʻaleleia le Drupal ma le WordPress Workflows

iʻuga

Na sili atu le fiafia o laʻu 'au ina ua amata ona matou tatalaina talosaga tuʻufaʻatasia ma faʻapipiʻi siʻosiʻomaga otometi.

Faatasi ai ma meafaigaluega mamana a GitLab ma Pantheon, e mafai ona e faʻafesoʻotaʻi GitLab i Pantheon aunoa.

Talu ai matou te fa'aogaina le GitLab CI/CD, o le a maua le avanoa e fa'atupula'ia ai a matou galuega. O nai manatu nei e te amata ai:

Faailoa mai ia i matou lou manatu e uiga i GitLab, Pantheon ma masini.

PS Na e iloa o Terminus, meafaigaluega laina laina a Pantheon, e mafai ona faʻalauteleina e ala i plugins?

Matou i Pantheon ua faia se galuega lelei i luga o le version 2 o la matou faʻapipiʻi mo meafaigaluega faufale Terminus ma le lagolago a GitLab. Afai e te le manaʻo e faʻalavelave i faʻatulagaga mo poloketi taʻitasi, taumafai le plugin lea ma fesoasoani ia matou suʻeina le v2 beta. Mo le 'au a Terminus build:project:create E te manaʻomia naʻo se faʻailoga Pantheon ma se faʻailoga GitLab. O le a ia faʻapipiʻiina se tasi o faʻataʻitaʻiga faʻataʻitaʻiga faʻatasi ma le Composer ma suʻega otometi, faia se galuega fou i GitLab, se nofoaga fou Pantheon, ma faʻafesoʻotaʻi i latou e faʻaoga ai suiga o le siosiomaga ma SSH ki.

E uiga i le tusitala

Andrew Taylor e fatuina meafaigaluega mo tagata atiae i totonu Pantheon.

puna: www.habr.com

Faaopoopo i ai se faamatalaga