Uyixhuma kanjani i-GitLab ne-Pantheon futhi Wandise Ukugeleza Kokusebenza kwe-Drupal kanye ne-WordPress

Uyixhuma kanjani i-GitLab ne-Pantheon futhi Wandise Ukugeleza Kokusebenza kwe-Drupal kanye ne-WordPress
Umdali wethu wamathuluzi onjiniyela oyisivakashi e-Pantheon ukhuluma ngendlela yokwenza ukuthunyelwa kwe-WordPress ngokuzenzakalelayo usebenzisa i-GitLab CI/CD.

Π’ onkulunkulu Ngisebenza ebuhlotsheni bonjiniyela, ngakho-ke ngihlala ngifuna izindlela ezintsha zokusiza abathuthukisi be-WordPress ne-Drupal baxazulule izinkinga zokuzenzakalela ekusebenzeni kwabo. Ukwenza lokhu, ngithanda ukuzama amathuluzi amasha futhi ngiwahlanganise ukuze asebenze ngempumelelo.

Ngivame ukubona onjiniyela bezabalaza neseva eyodwa yesiteji.

Kuyinjabulo enkulu ukulinda ithuba lakho lokusebenzisa iseva emaphakathi noma uthumele amaklayenti i-URL enenothi: β€œBheka lapha, kodwa ungabheki lapha okwamanje.”

Izindawo ze-Multidev - elinye lamathuluzi apholile wePantheon - ixazulula le nkinga, ngoba ngawo ungakha izindawo zamagatsha e-Git ngokufunwa. Indawo ngayinye ye-multidev ine-URL yayo kanye nesizindalwazi, ngakho onjiniyela bangasebenza ngokuthula, bahlole ikhwalithi, futhi bathole ukugunyazwa ngaphandle kokunyathela izinzwane zomunye nomunye.

Kodwa i-Pantheon ayinawo amathuluzi okulawula inguqulo noma ukuhlanganiswa okuqhubekayo nokuthunyelwa (CI/CD). Kodwa isiteji esivumelana nezimo ongahlanganisa ngaso noma yimaphi amathuluzi.

Ngiphinde ngaqaphela ukuthi amathimba asebenzisa amathuluzi athile okuthuthukisa, nahlukile ukuze ahlanganise futhi asetshenziswe.

Isibonelo, banamathuluzi ahlukene okulawula inguqulo kanye ne-CI/CD. Kufanele uzulazule futhi ushintshe phakathi kwamathuluzi ukuze uhlele ikhodi futhi uhlole izinkinga.

In I-GitLab kukhona isethi egcwele yamathuluzi okuthuthukisa: okulawula inguqulo, amathikithi, izicelo zokuhlanganisa, ipayipi le-CI/CD elisezingeni eliphezulu kakhulu, indawo yokubhalisa yeziqukathi, nakho konke okunjalo. Angikakahlangani nohlelo lokusebenza olunikeza okuningi kangaka ukuphatha ukuthuthuka komsebenzi wakho.

Ngiyazithanda izinto ezizenzakalelayo, ngakho-ke ngifunde ukuxhuma i-Pantheon ku-GitLab ukuze ukuzibophezela egatsheni eliyinhloko ku-GitLab kutshalwe endaweni enkulu yokuthuthukiswa e-Pantheon. Futhi ukuhlanganisa izicelo ku-GitLab kungakha futhi kukhiphe ikhodi ezindaweni eziningi ze-multidev e-Pantheon.

Kulesi sifundo, ngizokukhombisa ukuthi ungamisa kanjani ukuxhumana phakathi kwe-GitLab ne-Pantheon futhi uthuthukise ukuhamba komsebenzi kwakho kwe-WordPress ne-Drupal.

Yebo kungenzeka, isibuko se-GitLab repository, kodwa sizokwenza konke ngezandla zethu ukuze sijule kukho IGitLab CI futhi esikhathini esizayo sebenzisa leli thuluzi hhayi kuphela ukuthunyelwa.

Isingeniso

Kulokhu okuthunyelwe, udinga ukuqonda ukuthi i-Pantheon ihlukanisa isayithi ngalinye libe yizici ezintathu: ikhodi, isizindalwazi, namafayela.

Ikhodi ihlanganisa amafayela e-CMS afana ne-WordPress core, ama-plugin, nezindikimba. Lawa mafayela aphethwe ku- Git izinqolobane, isingathwe yi-Pantheon, okusho ukuthi singakhipha ikhodi kusuka ku-GitLab kuya ku-Pantheon nge-Git.
Amafayela ku-Pantheon amafayela emidiya, okungukuthi, izithombe zesayithi. Ngokuvamile alayishwa abasebenzisi futhi i-Git iyaziba.

Dala i-akhawunti yamahhala, thola okwengeziwe mayelana Ukuhamba komsebenzi we-Pantheon noma bhalisela idemo e-pantheon.io.

Ukuqagela

Iphrojekthi yami ku-Pantheon ne-GitLab ibizwa pantheon-gitlab-blog-demo. Igama lephrojekthi kumele lihluke. Lapha sizosebenza nesayithi le-WordPress. Ungathatha i-Drupal, kodwa uzodinga ukushintsha ezinye izinto.

Ngizosebenzisa Umugqa womyalo we-Gitfuthi ungasebenza ngaphakathi isikhombikubona sokuqhafaza, uma ufuna.

Dala iphrojekthi

Okokuqala, masidale Iphrojekthi ye-GitLab (sizobuya kulokhu kamuva).

Manje ukudala iwebhusayithi ye-WordPress ku-Pantheon. Bese sifaka i-WordPress kudeshibhodi yesayithi.

Uma izandla zakho zilunywa ukushintsha okuthile, isibonelo, susa noma wengeze ama-plugin, yiba nesineke. Isayithi alikakaxhunywa ku-GitLab, futhi sifuna zonke izinguquko zekhodi zidlule ku-GitLab.

Uma sesifake i-WordPress, buyela kudeshibhodi yewebhusayithi ye-Pantheon futhi ushintshe imodi yokuthuthukisa ibe yi-Git.

Uyixhuma kanjani i-GitLab ne-Pantheon futhi Wandise Ukugeleza Kokusebenza kwe-Drupal kanye ne-WordPress

Ukuzibophezela kokuqala ku-GitLab

Manje udinga ukudlulisa ikhodi yokuqala ye-WordPress usuka kusayithi le-Pantheon uye ku-GitLab. Ukwenza lokhu, sihlanganisa ikhodi esuka endaweni ye-Git yesayithi le-Pantheon endaweni yangakini, bese siyithumela endaweni yokugcina ye-GitLab.

Ukuze kube lula futhi kuphephe, engeza ukhiye we-SSH ku-Pantheon futhi ngeke kudingeke ukuthi sifake iphasiwedi njalo uma sihlanganisa inqolobane ye-Pantheon Git. Ngesikhathi esifanayo kakade engeza ukhiye we-SSH ku-GitLab.

Ukwenza lokhu, fanisa iwebhusayithi ye-Pantheon endaweni ngokukopisha umyalo ovela kunkambu ye-Clone ene-Git kudeshibhodi yewebhusayithi.

Uyixhuma kanjani i-GitLab ne-Pantheon futhi Wandise Ukugeleza Kokusebenza kwe-Drupal kanye ne-WordPress
Uma udinga usizo, funda imibhalo ukuqala nge-Git ye-Pantheon.

Manje ake sishintshe git remote originukukhomba i-GitLab esikhundleni se-Pantheon. Kungenziwa ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git remote.

Ake siye kuphrojekthi ye-GitLab futhi sikopishe i-URL yekhosombe kokwehliswayo kwe-Clone ekhasini lemininingwane yephrojekthi. Ake sikhethe inketho ye-Clone nge-SSH, ngoba sesivele silungiselele ukhiye we-SSH.

Uyixhuma kanjani i-GitLab ne-Pantheon futhi Wandise Ukugeleza Kokusebenza kwe-Drupal kanye ne-WordPress

Ngokuzenzakalelayo git remote ngekhophi yendawo yendawo yokugcina amakhodi - origin. Lokhu kungashintshwa c git remote set-url origin [URL рСпозитория GitLab], lapho esikhundleni sabakaki sifaka khona i-URL yangempela.

Ekugcineni, siyethula git push origin master --forceukusunduza ikhodi ye-WordPress kusuka ku-Pantheon kuya ku-GitLab.

Inketho ye--force idingeka kanye kuphela. Bese kuba ngamaqembu git push ngeke ibe ku-GitLab.

Ukusetha izifakazelo neziguquguqukayo

Uyakhumbula ukuthi sengeze kanjani ukhiye we-SSH endaweni ukuze ungene ku-Pantheon ne-GitLab? Ithokheni ye-SSH ingasetshenziswa ukugunyaza i-GitLab ne-Pantheon.

I-GitLab inemibhalo emihle kakhulu. Asibone ingxenye kokhiye be-SSH lapho usebenzisa umenzi we-Docker kudokhumenti usebenzisa okhiye be-SSH nge-GitLab CI/CD.

Manje sizoqedela izinyathelo ezimbili zokuqala: Masidale ipheya entsha yokhiye we-SSH endaweni nge-ssh-keygen bese sengeza ukhiye oyimfihlo njengokuguquguquka kwephrojekthi..

Bese sizobuza SSH_PRIVATE_KEY kanjani I-GitLab CI/CD imvelo eguquguqukayo kuzilungiselelo zephrojekthi.
Esinyathelweni sesithathu nesine sizokwakha ifayela .gitlab-ci.yml ngokuqukethwe okufana nalokhu:

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"

Asingabophi ifayela okwamanje .gitlab-ci.yml, khona-ke uzodinga ukwengeza enye into kuyo.

Manje senza isinyathelo sesihlanu futhi engeza ukhiye osesidlangalaleni owudalile esinyathelweni sokuqala kumasevisi odinga ukufinyelela kuwo endaweni yokwakha.

Esimweni sethu, sifuna ukufinyelela i-Pantheon kusuka ku-GitLab. Silandela imiyalelo embhalweni wePantheon on ukwengeza ukhiye we-SSH ku-Pantheon futhi wenze lesi sinyathelo.

Khumbula: i-SSH yangasese iku-GitLab, i-SSH evulekile iku-Pantheon.

Ake simise okunye okuguquguqukayo kwemvelo okumbalwa. Eyokuqala ibizwa nge-PANTHEON_SITE. Inani layo yigama lesayithi lePantheon emshinini wakho.

Igama emshinini lisohlwini ekugcineni kwe-Clone enomyalo we-Git. Usuvele uhlanganise isayithi endaweni, ngakho-ke leli kuzoba igama lenqolobane yenqolobane yendawo.

Uyixhuma kanjani i-GitLab ne-Pantheon futhi Wandise Ukugeleza Kokusebenza kwe-Drupal kanye ne-WordPress

Okulandelayo, ake simise i-variable yemvelo PANTHEON_GIT_URL. Le i-URL ye-Git repository yesayithi ye-Pantheon esesivele siyisebenzisile.

Faka kuphela i-URL yekhosombe le-SSH, ngaphandle git clone kanye negama lendawo emshinini ekugcineni.

Phew. Sesiqedile, manje sesingaqedela ifayela lethu .gitlab-ci.yml.

Dala umsebenzi wokuthunyelwa

Esizobe sikwenza ekuqaleni nge-GitLab CI kufana kakhulu nalokho esikwenze ngamakhosombe e-Git esikhathini esidlule. Kodwa kulokhu, ake sengeze inqolobane ye-Pantheon njengomthombo wesibili oqhelile we-Git, bese siphusha ikhodi isuka ku-GitLab iye ku-Pantheon.

Ukuze wenze lokhu, ake silungiselele isigaba deploy ΠΈ umsebenzi deploy:dev, ngoba sizothumela endaweni yokuthuthukiswa ku-Pantheon. Ifayela eliwumphumela .gitlab-ci.yml kuzobukeka kanjena:

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

Okuguquguqukayo SSH_PRIVATE_KEY, PANTHEON_SITE ΠΈ PANTHEON_GIT_URL kufanele ibukeke ijwayelekile - simise lezi zinhlobonhlobo zemvelo ngaphambili. Ngalokhu okuguquguqukayo sizokwazi ukusebenzisa amanani kufayela .gitlab-ci.yml izikhathi eziningi, futhi zizodinga kuphela ukubuyekezwa endaweni eyodwa.

Ekugcineni, engeza, bophezela futhi uthumele ifayela .gitlab-ci.yml ku-GitLab.

Ihlola ukusetshenziswa

Uma senze konke ngendlela efanele, umsebenzi deploy:dev izosebenza ngempumelelo ku-GitLab CI/CD futhi ihambise isivumelwano .gitlab-ci.yml e-Pantheon. Ake sibheke.

Uyixhuma kanjani i-GitLab ne-Pantheon futhi Wandise Ukugeleza Kokusebenza kwe-Drupal kanye ne-WordPress

Uyixhuma kanjani i-GitLab ne-Pantheon futhi Wandise Ukugeleza Kokusebenza kwe-Drupal kanye ne-WordPress

Uyixhuma kanjani i-GitLab ne-Pantheon futhi Wandise Ukugeleza Kokusebenza kwe-Drupal kanye ne-WordPress

Ithumela uchungechunge lwesicelo sokuhlanganisa ku-Pantheon

Lapha sizosebenzisa isici sami engisithandayo sePantheon βˆ’ i-multidev, lapho ungakha khona izindawo ezengeziwe ze-Pantheon zamagatsha e-Git ngokufunwa.

Ukufinyelela ku-multidev kunqunyelwe, ukuze lesi sigaba seqiwe. Kodwa uma unokufinyelela, ungakhuphula kakhulu ukukhiqiza ngokusetha ukwakheka okuzenzakalelayo kwezindawo ze-multidev ku-Pantheon kusuka kuzicelo zokuhlanganisa ze-GitLab.

Okokuqala masenze igatsha le-Git elisha endaweni sisebenzisa git checkout -b multidev-support. Manje ake siguqule okuthile futhi .gitlab-ci.yml.

Ngithanda ukufaka inombolo yesicelo sokuhlanganisa egameni lemvelo le-Pantheon. Isibonelo, isicelo sokuqala sokuhlanganisa sithi mr-1, okwesibili - mr-2 njll.

Isicelo sokuhlanganisa siyashintsha, ngakho-ke sidinga ukunquma ngokuguquguqukayo amagama egatsha e-Pantheon. Kulula ku-GitLab - udinga nje ukukusebenzisa okuguquguqukayo kwemvelo okuchazwe ngaphambilini.

Singathatha $CI_MERGE_REQUEST_IIDukucacisa inombolo yesicelo sokuhlanganisa. Masisebenzise konke lokhu kanye nokuguquguquka kwemvelo yomhlaba wonke esikushilo ekuqaleni bese sengeza ukuthunyelwa okusha:umsebenzi we-multidev ekugcineni kwefayela. .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

Kuzofana nomsebenzi wethu deploy:dev, igatsha kuphela elithunyelwa ePantheon, hhayi master.

Sengeze futhi sanikela ngefayela elibuyekeziwe .gitlab-ci.yml, futhi manje ake siphushele igatsha elisha ku-GitLab ngalo git push -u origin multidev-support.

Manje ake sakhe isicelo esisha sokuhlanganisa esivela egatsheni multidev-supportngokuchofoza Dala isicelo sokuhlanganisa.

Uyixhuma kanjani i-GitLab ne-Pantheon futhi Wandise Ukugeleza Kokusebenza kwe-Drupal kanye ne-WordPress

Ngemva kokudala isicelo sokuhlanganisa, sibheka ukuthi umsebenzi we-CI/CD wenziwa kanjani deploy:multidev.

Uyixhuma kanjani i-GitLab ne-Pantheon futhi Wandise Ukugeleza Kokusebenza kwe-Drupal kanye ne-WordPress

Bheka, uchungechunge olusha luthunyelwe ku-Pantheon. Kodwa uma siya esigabeni se-multidev kudeshibhodi yesayithi le-Pantheon, ngeke sibone indawo entsha lapho.

Uyixhuma kanjani i-GitLab ne-Pantheon futhi Wandise Ukugeleza Kokusebenza kwe-Drupal kanye ne-WordPress

Ake sibheke ingxenye yeGit Branches.

Uyixhuma kanjani i-GitLab ne-Pantheon futhi Wandise Ukugeleza Kokusebenza kwe-Drupal kanye ne-WordPress

Ngenxa yalokho, intambo yethu mr-1 wafika ePantheon. Ake sakhe indawo evela egatsheni mr-1.

Uyixhuma kanjani i-GitLab ne-Pantheon futhi Wandise Ukugeleza Kokusebenza kwe-Drupal kanye ne-WordPress

Senze indawo ye-multidev, manje ake sibuyele ku-GitLab futhi sibheke isigaba Imisebenzi > Imvelo. Sizobona imingenelo ye dev ΠΈ mr-1.

Lokhu kungenxa yokuthi sengeze okufakiwe environment Ngegama name ΠΈ url emisebenzini ye-CI/CD. Uma sichofoza isithonjana sendawo evulekile, sizoyiswa ku-URL yendawo ye-multidev ku-Pantheon.

Yenza ngokuzenzakalela ukudalwa kwe-multidev

Empeleni, ungama lapha futhi ukhumbule nje ukudala indawo ye-multidev yesicelo ngasinye sokuhlanganisa, kodwa le nqubo ingenziwa ngokuzenzakalelayo.

I-Pantheon inethuluzi lomugqa womyalo I-terminus, lapho ungasebenzisa khona inkundla ngokuzenzakalelayo. I-Terminus ikuvumela ukuthi udale izindawo ze-multidev kusuka kulayini womyalo - olungele IGitLab CI.

Sidinga isicelo esisha sokuhlanganisa ukuze sihlole lokhu. Ake sakhe igatsha elisha sisebenzisa git checkout -b auto-multidev-creation.

Ukuze usebenzise i-Terminus emisebenzini ye-GitLab CI/CD, udinga ithokheni yomshini ukuze uqinisekise nge-Terminus kanye nesithombe sesitsha esine-Terminus.

Ukudala Ithokheni Yomshini We-Pantheon, igcine endaweni ephephile futhi uyengeze njengento eguquguqukayo yendawo yonke ku-GitLab enegama PANTHEON_MACHINE_TOKEN.

Uma ukhohlwe ukuthi ungangeza kanjani okuguquguqukayo kwemvelo ye-GitLab, buyela lapho sichazile PANTHEON_SITE.

Ukudala i-Dockerfile nge-Terminus

Uma ungasebenzisi i-Docker noma ungawathandi amafayela Dockerfile, thatha isithombe sami registry.gitlab.com/ataylorme/pantheon-gitlab-blog-demo:latest bese weqa lesi sigaba.

I-GitLab inokubhaliswa kwesiqukathi, lapho singakha futhi sibeke i-Dockerfile yephrojekthi yethu. Masidale i-Dockerfile nge-Terminus ukuze sisebenze ne-Pantheon.

I-Terminus iyithuluzi lomugqa womyalo we-PHP, ngakho-ke ake siqale ngesithombe se-PHP. Ngifaka i-Terminus ngoMqambi, ngakho ngizosebenzisa isithombe se-Docker Composer esisemthethweni. Siyadala Dockerfile ohlwini lwemibhalo yenqolobane yasendaweni enokuqukethwe okulandelayo:

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

Landela imiyalelo yokuhlanganisa nokuthumela izithombe ezivela esigabeni Yakha futhi uphushe izithombe Π² imibhalo yokubhalisa yesiqukathiukuqoqa isithombe kusuka Dockerfile bese uyiphushela ku-GitLab.

Vula isigaba Registry kuphrojekthi ye-GitLab. Uma konke kuhambe ngohlelo, isithombe sethu sizoba khona. Bhala phansi isixhumanisi sethegi yesithombe - siyidinga kufayela .gitlab-ci.yml.

Uyixhuma kanjani i-GitLab ne-Pantheon futhi Wandise Ukugeleza Kokusebenza kwe-Drupal kanye ne-WordPress

Isigaba script enkingeni deploy:multidev iqala ukukhula, ngakho-ke masiyihambise efayelini elihlukile. Dala ifayela elisha 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

Iskripthi sikuhla lwemibhalo oluyimfihlo futhi ayikuvumeli ukufinyelela kwewebhu ku-Pantheon. Sineskripthi se-logic yethu ye-multidev. Manje ake sibuyekeze isigaba deploy:multidev ifayela .gitlab-ci.ymlukuze kwenzeke kanje:

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

Sidinga ukwenza isiqiniseko sokuthi imisebenzi yethu yenziwa ngesithombe sangokwezifiso esidaliwe, ngakho-ke ake sengeze incazelo image kusuka ku-URL yokubhalisa kuya .gitlab-ci.yml. Ngenxa yalokho, sigcine sinefayela elifana naleli .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

Engeza, bophezela futhi uthumele private/multidev-deploy.sh ΠΈ .gitlab-ci.yml. Manje sibuyela ku-GitLab futhi silinde ukuthi umsebenzi we-CI/CD uqedele. Yiba nesineke: i-multidev ingathatha imizuzu embalwa ukuyidala.

Bese sibheka uhlu lwe-multidev ku-Pantheon. Oh isimangaliso! Multidev imvelo mr-2 vele lapha.

Uyixhuma kanjani i-GitLab ne-Pantheon futhi Wandise Ukugeleza Kokusebenza kwe-Drupal kanye ne-WordPress

isiphetho

Ithimba lami libe nokujabula okwengeziwe lapho siqala ukuvula izicelo zokuhlanganisa nokudala izindawo ngokuzenzakalelayo.

Ngamathuluzi anamandla e-GitLab ne-Pantheon, ungakwazi ukuxhuma i-GitLab ku-Pantheon ngokuzenzakalelayo.

Njengoba sisebenzisa i-GitLab CI/CD, ukuhamba kwethu komsebenzi kuzoba nendawo yokukhula. Nansi imibono embalwa ukuze uqale:

Sazise ukuthi ucabangani nge-GitLab, i-Pantheon ne-automation.

PS Ubuwazi ukuthi i-Terminus, ithuluzi lomugqa womyalo we-Pantheon, inganwetshwa ngama-plugin?

Thina kwa-Pantheon senze umsebenzi omuhle enguqulweni yesi-2 yethu i-plugin yamathuluzi wokwakha we-Terminus ngokusekelwa kwe-GitLab. Uma ungafuni ukuzihlupha ngezilungiselelo zephrojekthi ngayinye, zama le plugin futhi usisize sihlole i-v2 beta. Okwethimba le-Terminus build:project:create Udinga kuphela ithokheni ye-Pantheon kanye nethokheni ye-GitLab. Uzosebenzisa iphrojekthi eyodwa yesampula noMqambi nokuhlola okuzenzakalelayo, adale iphrojekthi entsha ku-GitLab, isiza esisha se-Pantheon, futhi awaxhume esebenzisa okuguquguqukayo kwendawo kanye nokhiye be-SSH.

Mayelana nomlobi

U-Andrew Taylor udala amathuluzi onjiniyela ku onkulunkulu.

Source: www.habr.com

Engeza amazwana