Otu esi ejikọ GitLab na Pantheon wee kwalite Drupal na WordPress Workflows

Otu esi ejikọ GitLab na Pantheon wee kwalite Drupal na WordPress Workflows
Onye nrụpụta ngwa ngwa ndị ọbịa anyị na Pantheon na-ekwu maka otu esi eme ka WordPress deployment jiri GitLab CI/CD.

В arụsị Ana m arụ ọrụ na mmekọrịta ndị nrụpụta, yabụ m na-achọ ụzọ ọhụụ mgbe niile iji nyere ndị mmepe WordPress na Drupal aka dozie nsogbu akpaaka na usoro ọrụ ha. Iji mee nke a, ọ na-amasị m ịnwale ngwaọrụ ọhụrụ ma jikọta ha na ibe ha iji rụọ ọrụ nke ọma.

M na-ahụkarị ndị mmepe ka ha na otu ihe nkesa na-agbakọ mgba.

Ọ bụ ihe obi ụtọ ichere ka oge gị jiri ihe nkesa etiti ma ọ bụ ziga ndị ahịa URL na ndetu: "Lee ebe a, mana elela ebe a."

Multidev gburugburu - otu n'ime ngwa Pantheon dị mma - na-edozi nsogbu a, n'ihi na site na ha ị nwere ike ịmepụta gburugburu maka alaka Git na-achọ. Gburugburu multidev ọ bụla nwere URL na nchekwa data nke ya, yabụ ndị mmepe nwere ike ịrụ ọrụ nwayọ, lelee ịdị mma ma nweta nkwado na-enweghị isi na mkpịsị ụkwụ ibe ha.

Mana Pantheon enweghị ngwaọrụ maka njikwa ụdị ma ọ bụ ntinye na ntinye na-aga n'ihu (CI/CD). Mana ọ bụ ikpo okwu na-agbanwe agbanwe nke ị nwere ike ijikọ ngwaọrụ ọ bụla.

Achọpụtakwara m na ndị otu na-eji ụfọdụ ngwá ọrụ maka mmepe, na ndị dị iche iche maka mgbakọ na ntinye.

Dịka ọmụmaatụ, ha nwere ngwaọrụ dị iche iche maka njikwa ụdị yana CI/CD. Ị ga-agbagharị gburugburu wee gbanwee n'etiti ngwaọrụ iji dezie koodu na chọpụta nsogbu.

Na GitLab enwere ngwa ọrụ mmepe zuru oke: maka njikwa ụdị, tiketi, ịrịọ arịrịọ, pipeline CI/CD kacha mma, ndekọ akpa, na ihe niile dị otú ahụ. Ahụbeghị m ngwa na-enye ọtụtụ ihe iji jikwaa usoro mmepe gị.

Enwere m mmasị na akpaaka, yabụ amụtara m ka esi jikọọ Pantheon na GitLab ka etinyere na ngalaba isi na GitLab na mpaghara mmepe bụ isi na Pantheon. Na ijikọ arịrịọ na GitLab nwere ike ịmepụta ma bufee koodu na gburugburu multidev na Pantheon.

N'ime nkuzi a, a ga m ejegharị gị ka esi melite njikọ n'etiti GitLab na Pantheon wee kwalite ọrụ WordPress na Drupal gị.

N'ezie ọ ga-ekwe omume, enyo GitLab ebe nchekwa, mana anyị ga-eji aka anyị mee ihe niile iji banye GitLab CI na n'ọdịnihu na-eji ngwá ọrụ a ọ bụghị naanị maka ntinye.

Okwu Mmalite

Maka ọkwa a, ịkwesịrị ịghọta na Pantheon na-agbaji saịtị ọ bụla n'ime ihe atọ: koodu, nchekwa data, na faịlụ.

Koodu ahụ gụnyere faịlụ CMS dị ka isi WordPress, plugins, na gburugburu. A na-ejikwa faịlụ ndị a na Git ebe nchekwa, nke Pantheon kwadoro, nke pụtara na anyị nwere ike ibuga koodu si GitLab gaa Pantheon na Git.
Faịlụ dị na Pantheon bụ faịlụ mgbasa ozi, ya bụ, onyonyo maka saịtị ahụ. Ndị ọrụ na-ebugo ya na Git na-eleghara ha anya.

Mepụta akaụntụ efu, chọpụtakwuo banyere ya Pantheon arụ ọrụ ma ọ bụ debanye aha maka ngosi na pantheon.io.

Echiche

A na-akpọ ọrụ m na Pantheon na GitLab pantheon-gitlab-blog-demo. Aha oru ngo ga-abụ ihe pụrụ iche. N'ebe a, anyị ga-arụ ọrụ na saịtị WordPress. Ị nwere ike were Drupal, mana ị ga-achọ ịgbanwe ihe ụfọdụ.

M ga-eji Ahịrị iwu Gitma ị nwere ike ịrụ ọrụ eserese eserese, ọ bụrụ na ị chọrọ.

Mepụta oru ngo

Mbụ, ka anyị mepụta GitLab oru ngo (anyị ga-alaghachi na nke a ma emechaa).

Ugbu a ịmepụta weebụsaịtị WordPress na Pantheon. Mgbe ahụ, anyị wụnye WordPress maka dashboard saịtị.

Ọ bụrụ na aka gị na-afụ ụfụ ịgbanwe ihe, dịka ọmụmaatụ, wepụ ma ọ bụ tinye plugins, nwee ndidi. Ejikọtabeghị saịtị ahụ na GitLab, anyị chọrọ ka mgbanwe koodu niile gafere GitLab.

Ozugbo anyị wụnye WordPress, laghachi na dashboard webụsaịtị Pantheon wee gbanwee ọnọdụ mmepe na Git.

Otu esi ejikọ GitLab na Pantheon wee kwalite Drupal na WordPress Workflows

Nkwenye mbụ na GitLab

Ugbu a ịkwesịrị ịnyefe koodu WordPress mbụ site na saịtị Pantheon gaa GitLab. Iji mee nke a, anyị na-emechi koodu ahụ site na ebe nchekwa Git nke saịtị Pantheon na mpaghara, wee ziga ya na ebe nchekwa GitLab.

Iji mee ka ọ dị mfe na nchekwa, tinye igodo SSH na Pantheon na anyị agaghị etinye paswọọdụ oge ọ bụla anyị mechiri ebe nchekwa Pantheon Git. N'otu oge ahụ ugbua tinye igodo SSH na GitLab.

Iji mee nke a, mechie webụsaịtị Pantheon na mpaghara site na idetu iwu sitere na Clone with Git ubi na dashboard webụsaịtị.

Otu esi ejikọ GitLab na Pantheon wee kwalite Drupal na WordPress Workflows
Ọ bụrụ na ịchọrọ enyemaka, gụọ akwụkwọ ahụ ibido Git maka Pantheon.

Ugbu a, ka anyị gbanwee git remote originiji rụtụ aka na GitLab kama Pantheon. Enwere ike ime ya командой git remote.

Ka anyị gaa na GitLab oru ngo ma detuo URL ebe nchekwa site na Clone dropdown na ibe nkọwa ọrụ. Ka anyị họrọ Clone nwere nhọrọ SSH, n'ihi na anyị ahazila igodo SSH.

Otu esi ejikọ GitLab na Pantheon wee kwalite Drupal na WordPress Workflows

ndabara git remote maka nnomi mpaghara ebe nchekwa koodu - origin. Enwere ike ịgbanwe nke a c git remote set-url origin [URL репозитория GitLab], ebe kama brackets anyị na-abanye n'ezie URL.

N'ikpeazụ, anyị na-amalite git push origin master --forceịkwanye koodu WordPress site na Pantheon gaa GitLab.

Nhọrọ -force dị naanị otu ugboro. Mgbe ahụ na otu git push ọ gaghị adị na GitLab.

Ịtọlite ​​nzere na mgbanwe

Cheta otu anyị siri tinye igodo SSH na mpaghara ịbanye na Pantheon na GitLab? Enwere ike iji akara SSH iji nye ikike GitLab na Pantheon.

GitLab nwere akwụkwọ mara mma. Ka ahụ ngalaba na igodo SSH mgbe ị na-eji Docker executor na akwụkwọ na-eji igodo SSH na GitLab CI/CD.

Ugbu a, anyị ga-emecha nzọụkwụ abụọ mbụ: Ka anyị mepụta ụzọ igodo SSH ọhụrụ na mpaghara yana ssh-keygen wee tinye igodo nzuzo dị ka mgbanwe na ọrụ ahụ..

Mgbe ahụ, anyị ga-ajụ SSH_PRIVATE_KEY otú GitLab CI/CD na-agbanwe gburugburu ebe obibi na ntọala oru ngo.
Na usoro nke atọ na nke anọ, anyị ga-emepụta faịlụ .gitlab-ci.yml nwere ọdịnaya dị ka nke a:

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"

Ka anyị ghara itinye faịlụ ahụ .gitlab-ci.yml, mgbe ahụ, ị ​​ga-achọ ịgbakwunye ihe ọzọ na ya.

Ugbu a, anyị na-eme nke ise nzọụkwụ na tinye igodo ọha nke ị mepụtara na nzọụkwụ mbụ na ọrụ ndị ịchọrọ ịnweta na gburugburu ebe a na-ewu ụlọ.

N'ọnọdụ anyị, anyị chọrọ ịnweta Pantheon site na GitLab. Anyị na-agbaso ntuziaka dị na akwụkwọ Pantheon na na-agbakwunye igodo SSH na Pantheon ma mee usoro a.

Cheta: SSH nkeonwe dị na GitLab, mepere SSH dị na Pantheon.

Ka anyị melite mgbanwe gburugburu ebe obibi ole na ole. A na-akpọ nke mbụ PANTHEON_SITE. Uru ya bụ aha saịtị Pantheon dị na igwe gị.

Edepụtara aha dị na igwe na njedebe nke Clone nwere iwu Git. Ị kpọchiela saịtị ahụ na mpaghara, yabụ nke a ga-abụ aha ndekọ ndekọ aha mpaghara.

Otu esi ejikọ GitLab na Pantheon wee kwalite Drupal na WordPress Workflows

Ọzọ, ka anyị guzobe mgbanwe gburugburu ebe obibi PANTHEON_GIT_URL. Nke a bụ URL ebe nchekwa Git maka saịtị Pantheon nke anyị jirilarị.

Tinye naanị URL ebe nchekwa SSH, na-enweghị git clone na aha saịtị na igwe na njedebe.

Phew. Emeela nke ahụ, ugbu a anyị nwere ike mechaa faịlụ anyị .gitlab-ci.yml.

Mepụta ọrụ mbugharị

Ihe anyị ga-eme na mbụ GitLab CI yiri ihe anyị mere na ebe nchekwa Git n'oge gara aga. Mana oge a, ka anyị gbakwunye ebe nchekwa Pantheon dị ka isi iyi Git nke abụọ dịpụrụ adịpụ, wee tinye koodu ahụ site na GitLab na Pantheon.

Iji mee nke a, ka anyị hazie ogbo deploy и ọrụ deploy:dev, n'ihi na anyị ga-ebuga na mmepe gburugburu ebe obibi na Pantheon. Faịlụ pụta .gitlab-ci.yml ga-adị ka nke a:

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

Ihe dịgasị iche iche SSH_PRIVATE_KEY, PANTHEON_SITE и PANTHEON_GIT_URL kwesịrị ịdị ka nke ọma - anyị edobere mgbanwe gburugburu ebe obibi ndị a na mbụ. Site na mgbanwe ndị a anyị ga-enwe ike iji ụkpụrụ dị na faịlụ ahụ .gitlab-ci.yml ọtụtụ oge, na ọ ga-adị mkpa ka emelite ha naanị n'otu ebe.

N'ikpeazụ, tinye, tinye na zipu faịlụ .gitlab-ci.yml na GitLab.

Na-enyocha ntinye

Ọ bụrụ na anyị mere ihe niile n'ụzọ ziri ezi, ọrụ deploy:dev ga-agba ọsọ nke ọma na GitLab CI/CD wee nyefee nkwa .gitlab-ci.yml na Pantheon. Ka anyị lee anya.

Otu esi ejikọ GitLab na Pantheon wee kwalite Drupal na WordPress Workflows

Otu esi ejikọ GitLab na Pantheon wee kwalite Drupal na WordPress Workflows

Otu esi ejikọ GitLab na Pantheon wee kwalite Drupal na WordPress Workflows

Na-eziga eriri arịrịọ njikọ na Pantheon

N'ebe a, anyị ga-eji njirimara Pantheon kachasị amasị m - multidev, ebe ị nwere ike ịmepụta mgbakwunye Pantheon maka alaka Git na-achọ.

Ịnweta multidev nwere oke, yabụ enwere ike ịwụpụ ngalaba a. Mana ọ bụrụ na ị nwere ohere, ị nwere ike ịbawanye nrụpụta nke ukwuu site na ịtọlite ​​​​akpaaka nke gburugburu multidev na Pantheon sitere na arịrịọ njikọ GitLab.

Ka anyị buru ụzọ mee alaka Git ọhụrụ na mpaghara na-eji git checkout -b multidev-support. Ugbu a, ka anyị gbanwee ihe ọzọ na .gitlab-ci.yml.

Ọ na-amasị m itinye nọmba arịrịọ njikọ na aha gburugburu Pantheon. Dịka ọmụmaatụ, arịrịọ njikọ mbụ bụ mr-1, nke abụọ - mr-2 wdg.

Arịrịọ jikọrọ ọnụ na-agbanwe, yabụ anyị kwesịrị ikpebi n'ike n'ike aha alaka Pantheon. Ọ dị mfe na GitLab - naanị ị ga-eji mgbanwe gburugburu ebe obibi eburu ụzọ kọwaa.

Anyị nwere ike were $CI_MERGE_REQUEST_IIDiji kọwapụta nọmba ịrịọ arịrịọ. Ka anyị tinye ihe a niile yana mgbanwe mgbanwe gburugburu ụwa anyị kọwapụtara na mbụ wee tinye mgbakwunye ọhụrụ: ọrụ multitidev na njedebe nke faịlụ ahụ. .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

Ọ ga-adị ka ọrụ anyị deploy:dev, naanị alaka ụlọ ọrụ na-eziga na Pantheon, ọ bụghị ka master.

Anyị agbakwunyela ma nyefee faịlụ emelitere .gitlab-ci.yml, ma ugbu a, ka anyị jiri ya were kwanye alaka ọhụrụ na GitLab git push -u origin multidev-support.

Ugbu a, ka anyị mepụta arịrịọ njikọta ọhụrụ site na alaka ụlọ ọrụ multidev-supportsite na ịpị Mepụta arịrịọ njikọ.

Otu esi ejikọ GitLab na Pantheon wee kwalite Drupal na WordPress Workflows

N'ịbụ onye mepụtara arịrịọ njikọ, anyị na-ele anya ka esi arụ ọrụ CI/CD deploy:multidev.

Otu esi ejikọ GitLab na Pantheon wee kwalite Drupal na WordPress Workflows

Lee, ezipula eri ọhụrụ na Pantheon. Mana ọ bụrụ na anyị gaa na ngalaba multidev na dashboard saịtị Pantheon, anyị agaghị ahụ ebe ọhụrụ ebe ahụ.

Otu esi ejikọ GitLab na Pantheon wee kwalite Drupal na WordPress Workflows

Ka anyị leba anya na ngalaba Git Branches.

Otu esi ejikọ GitLab na Pantheon wee kwalite Drupal na WordPress Workflows

N'ihi ya, eri anyị mr-1 gaa na Pantheon. Ka anyị mepụta gburugburu site na alaka ụlọ ọrụ mr-1.

Otu esi ejikọ GitLab na Pantheon wee kwalite Drupal na WordPress Workflows

Anyị ekepụtala gburugburu multidev, ugbu a ka anyị laghachi na GitLab wee lelee ngalaba ahụ Ọrụ > Gburugburu. Anyị ga-ahụ ndenye maka dev и mr-1.

Nke a bụ n'ihi na anyị gbakwunyere ntinye environment N'aha name и url n'ime ọrụ CI/CD. Ọ bụrụ na anyị pịa akara ngosi gburugburu mepere emepe, a ga-akpọrọ anyị na URL nke multidev gburugburu na Pantheon.

Mepụta ihe okike nke multidev

Na ụkpụrụ, ị nwere ike ịkwụsị ebe a ma cheta naanị ịmepụta ọnọdụ multidev maka arịrịọ ọ bụla jikọrọ ọnụ, mana usoro a nwere ike ịmegharị ya.

Pantheon nwere ngwá ọrụ ahịrị iwu Nkwụsị, ebe ị nwere ike ịrụ ọrụ na ikpo okwu na-akpaghị aka. Terminus na-enye gị ohere ịmepụta gburugburu multidev site na ahịrị iwu - dị mma maka GitLab CI.

Anyị chọrọ arịrịọ njikọta ọhụrụ iji nwalee nke a. Ka anyị mepụta alaka ọhụrụ site na iji git checkout -b auto-multidev-creation.

Iji jiri Terminus na ọrụ GitLab CI/CD, ịchọrọ akara igwe maka nyocha ya na Terminus yana onyonyo akpa nwere Terminus.

Ịmepụta akara igwe Pantheon, Chekwaa ya na ebe nchekwa ma tinye ya dị ka mgbanwe gburugburu ụwa na GitLab na aha PANTHEON_MACHINE_TOKEN.

Ọ bụrụ na ị chefuru otu esi etinye mgbanwe gburugburu GitLab, laghachi azụ n'ebe anyị kọwara PANTHEON_SITE.

Mepụta Dockerfile na Terminus

Ọ bụrụ na ị naghị eji Docker ma ọ bụ na-amasịghị faịlụ Dockerfile, were foto m registry.gitlab.com/ataylorme/pantheon-gitlab-blog-demo:latest ma hapụ ngalaba a.

GitLab nwere ndekọ akpa, ebe anyị nwere ike iwulite ma tinye Dockerfile maka ọrụ anyị. Ka anyị mepụta Dockerfile na Terminus ka anyị na Pantheon rụọ ọrụ.

Terminus bụ ngwa ahịrị ahịrị iwu PHP, yabụ ka anyị jiri onyonyo PHP malite. Ana m etinye Terminus site na Onye na-ede ihe, yabụ m ga-eji onyonyo Docker Composer. Anyị na-eke Dockerfile n'ime ndekọ ndekọ aha mpaghara nwere ọdịnaya ndị a:

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

Soro ntuziaka maka ikpokọta na izipu onyonyo site na ngalaba Wulite ma tinye onyonyo в akwụkwọ ndekọ akpaịnakọta onyonyo site na Dockerfile ma tinye ya na GitLab.

Mepee ngalaba Ndebanye aha na oru GitLab. Ọ bụrụ na ihe niile gara dịka atụmatụ si dị, onyinyo anyị ga-adị ebe ahụ. Dee njikọ na mkpado onyonyo - anyị chọrọ ya maka faịlụ ahụ .gitlab-ci.yml.

Otu esi ejikọ GitLab na Pantheon wee kwalite Drupal na WordPress Workflows

Nkebi script na nsogbu deploy:multidev na-amalite itolite, yabụ ka anyị bugharịa ya na faịlụ dị iche. Mepụta faịlụ ọhụrụ 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

Edemede a dị na ndekọ nkeonwe yana anaghị ekwe ka ịnweta weebụ Pantheon. Anyị nwere edemede maka mgbagha multidev anyị. Ka anyị melite ngalaba ugbu a deploy:multidev faịlụ .gitlab-ci.ymlnke mere na ọ ga-adị ka nke a:

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

Anyị kwesịrị ijide n'aka na a na-arụ ọrụ anyị na foto omenala emepụtara, yabụ ka anyị tinye nkọwa image site URL ndekọ gaa na .gitlab-ci.yml. N'ihi ya, anyị mechiri faịlụ dị ka nke a .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

Tinye, tinye na zipu private/multidev-deploy.sh и .gitlab-ci.yml. Ugbu a, anyị laghachi na GitLab ma chere ka ọrụ CI/CD rụchaa. Nwee ndidi: multidev nwere ike were nkeji ole na ole iji mepụta.

Mgbe ahụ, anyị na-aga leba anya na ndepụta multidev na Pantheon. Oh ebube! Multidev gburugburu ebe obibi mr-2 ugbua ebe a.

Otu esi ejikọ GitLab na Pantheon wee kwalite Drupal na WordPress Workflows

nkwubi

Ndị otu m nwere ọtụtụ ihe ọchị mgbe anyị malitere imepe arịrịọ njikọ na imepụta gburugburu na-akpaghị aka.

Site na ngwaọrụ dị ike nke GitLab na Pantheon, ị nwere ike jikọọ GitLab na Pantheon na-akpaghị aka.

Ebe anyị na-eji GitLab CI/CD, usoro ọrụ anyị ga-enwe ohere itolite. Nke a bụ echiche ole na ole iji malite:

  • Tinye nzọụkwụ nrụpụta.
  • Tinye ule akpaghị aka.
  • Tinye ọrụ iji hụ na emezuru ụkpụrụ koodu.
  • Tinye dynamic ngwa nche ule.

Mee ka anyị mata ihe ị chere gbasara GitLab, Pantheon na akpaaka.

PS Ị maara na Terminus, ngwa ahịrị ahịrị Pantheon, enwere ike ịgbatị site na plugins?

Anyị na Pantheon emeela ezigbo ọrụ na ụdị 2 nke anyị ngwa mgbakwunye maka ngwa nrụpụta Terminus na nkwado GitLab. Ọ bụrụ na ịchọghị inye nsogbu na ntọala maka ọrụ ọ bụla, nwaa ngwa mgbakwunye a wee nyere anyị aka nwalee beta v2. Maka ndị otu Terminus build:project:create Ị chọrọ naanị akara ngosi Pantheon na akara GitLab. Ọ ga-ebuga otu n'ime ọrụ nlele ya na Onye na-ede akwụkwọ na nnwale akpaaka, mepụta ọrụ ọhụrụ na GitLab, saịtị Pantheon ọhụrụ, wee jikọọ ha site na iji mgbanwe gburugburu ebe obibi na igodo SSH.

Banyere onye edemede

Andrew Taylor na-emepụta ngwaọrụ maka ndị mmepe na arụsị.

isi: www.habr.com

Tinye a comment