GitLab மற்றும் Pantheon ஐ எவ்வாறு இணைப்பது மற்றும் Drupal மற்றும் WordPress பணிப்பாய்வுகளை மேம்படுத்துவது எப்படி

GitLab மற்றும் Pantheon ஐ எவ்வாறு இணைப்பது மற்றும் Drupal மற்றும் WordPress பணிப்பாய்வுகளை மேம்படுத்துவது எப்படி
GitLab CI/CD ஐப் பயன்படுத்தி வேர்ட்பிரஸ் வரிசைப்படுத்தல்களை எவ்வாறு தானியங்குபடுத்துவது என்பது பற்றி Pantheon இல் உள்ள எங்கள் விருந்தினர் டெவலப்பர் கருவிகளை உருவாக்குபவர் பேசுகிறார்.

В பாந்தியன் நான் டெவலப்பர் உறவுகளில் பணிபுரிகிறேன், எனவே வேர்ட்பிரஸ் மற்றும் Drupal டெவலப்பர்கள் தங்கள் பணிப்பாய்வுகளில் ஆட்டோமேஷன் சிக்கல்களைத் தீர்க்க உதவும் புதிய வழிகளை நான் எப்போதும் தேடுகிறேன். இதைச் செய்ய, புதிய கருவிகளைப் பரிசோதித்து, அவற்றை ஒன்றுடன் ஒன்று இணைத்து திறம்பட செயல்பட விரும்புகிறேன்.

டெவலப்பர்கள் ஒரு ஸ்டேஜிங் சர்வருடன் போராடுவதை நான் அடிக்கடி பார்க்கிறேன்.

இடைநிலை சேவையகத்தைப் பயன்படுத்துவதற்கு அல்லது வாடிக்கையாளர்களுக்கு ஒரு URL ஐ அனுப்புவதற்கு உங்கள் முறைக்காக காத்திருப்பது மிகவும் மகிழ்ச்சி அளிக்கிறது: "இங்கே பார், ஆனால் இன்னும் இங்கு பார்க்க வேண்டாம்."

மல்டிடெவ் சூழல்கள் - குளிர் பாந்தியன் கருவிகளில் ஒன்று - இந்த சிக்கலை தீர்க்கிறது, ஏனெனில் அவற்றைக் கொண்டு நீங்கள் தேவைக்கேற்ப Git கிளைகளுக்கான சூழல்களை உருவாக்கலாம். ஒவ்வொரு மல்டிடெவ் சூழலுக்கும் அதன் சொந்த URL மற்றும் தரவுத்தளங்கள் உள்ளன, எனவே டெவலப்பர்கள் அமைதியாக வேலை செய்யலாம், தரத்தை சரிபார்க்கலாம் மற்றும் ஒருவரையொருவர் மிதிக்காமல் அனுமதி பெறலாம்.

ஆனால் Pantheon இல் பதிப்பு கட்டுப்பாடு அல்லது தொடர்ச்சியான ஒருங்கிணைப்பு மற்றும் வரிசைப்படுத்தல் (CI/CD) கருவிகள் இல்லை. ஆனால் இது ஒரு நெகிழ்வான தளமாகும், இதன் மூலம் நீங்கள் எந்த கருவிகளையும் ஒருங்கிணைக்க முடியும்.

குழுக்கள் மேம்பாட்டிற்காக சில கருவிகளைப் பயன்படுத்துவதையும், அசெம்பிளி மற்றும் வரிசைப்படுத்தலுக்கு வெவ்வேறு கருவிகளையும் பயன்படுத்துவதையும் நான் கவனித்தேன்.

எடுத்துக்காட்டாக, பதிப்புக் கட்டுப்பாடு மற்றும் CI/CD ஆகியவற்றிற்கு வெவ்வேறு கருவிகள் உள்ளன. குறியீட்டைத் திருத்துவதற்கும் சிக்கல்களைக் கண்டறிவதற்கும் நீங்கள் பிடில் மற்றும் கருவிகளுக்கு இடையில் மாற வேண்டும்.

மீது GitLab முழு வளர்ச்சிக் கருவிகள் உள்ளன: பதிப்புக் கட்டுப்பாடு, டிக்கெட்டுகள், ஒன்றிணைப்பு கோரிக்கைகள், சிறந்த-இன்-கிளாஸ் CI/CD பைப்லைன், ஒரு கொள்கலன் பதிவேடு மற்றும் அது போன்ற அனைத்திற்கும். உங்கள் டெவலப்மெண்ட் பணிப்பாய்வுகளை நிர்வகிப்பதற்கு இவ்வளவு சலுகைகளை வழங்கும் ஆப்ஸை நான் இதுவரை பார்க்கவில்லை.

நான் ஆட்டோமேஷனை விரும்புகிறேன், எனவே Pantheon ஐ GitLab உடன் இணைப்பது எப்படி என்பதை நான் கற்றுக்கொண்டேன், இதன் மூலம் GitLab இல் உள்ள முக்கிய கிளைக்கான பொறுப்புகள் Pantheon இல் உள்ள முக்கிய மேம்பாட்டு சூழலுக்கு பயன்படுத்தப்படுகின்றன. GitLab இல் உள்ள ஒன்றிணைக்கும் கோரிக்கைகள் Pantheon இல் உள்ள multidev சூழல்களுக்கு குறியீட்டை உருவாக்கி பயன்படுத்த முடியும்.

இந்த டுடோரியலில், GitLab மற்றும் Pantheon இடையே இணைப்பை எவ்வாறு அமைப்பது மற்றும் உங்கள் வேர்ட்பிரஸ் மற்றும் Drupal பணிப்பாய்வுகளை எவ்வாறு மேம்படுத்துவது என்பதை நான் உங்களுக்குக் கூறுகிறேன்.

நிச்சயமாக இது சாத்தியம், GitLab களஞ்சியத்தை பிரதிபலிக்கிறது, ஆனால் ஆராய்வதற்கு எல்லாவற்றையும் எங்கள் கைகளால் செய்வோம் கிட்லாப் சி.ஐ. மற்றும் எதிர்காலத்தில் இந்த கருவியை பயன்படுத்துவதற்கு மட்டும் பயன்படுத்தவும்.

அறிமுகம்

இந்த இடுகைக்கு, பாந்தியன் ஒவ்வொரு தளத்தையும் மூன்று கூறுகளாக உடைக்கிறது என்பதை நீங்கள் புரிந்து கொள்ள வேண்டும்: குறியீடு, தரவுத்தளம் மற்றும் கோப்புகள்.

குறியீட்டில் வேர்ட்பிரஸ் கோர், செருகுநிரல்கள் மற்றும் தீம்கள் போன்ற CMS கோப்புகள் உள்ளன. இந்தக் கோப்புகள் இதில் நிர்வகிக்கப்படுகின்றன Git களஞ்சியங்கள், Pantheon ஆல் ஹோஸ்ட் செய்யப்பட்டது, அதாவது GitLab இலிருந்து Pantheon க்கு Git உடன் குறியீட்டை வரிசைப்படுத்தலாம்.
பாந்தியனில் உள்ள கோப்புகள் மீடியா கோப்புகள், அதாவது தளத்திற்கான படங்கள். பொதுவாக அவை பயனர்களால் பதிவேற்றப்படும் மற்றும் Git அவற்றைப் புறக்கணிக்கிறது.

ஒரு இலவச கணக்கு உருவாக்க, பற்றி மேலும் அறியவும் பாந்தியன் பணிப்பாய்வு அல்லது ஒரு டெமோவிற்கு பதிவு செய்யவும் Pantheon.io இல்.

அனுமானங்கள்

Pantheon மற்றும் GitLab பற்றிய எனது திட்டம் அழைக்கப்படுகிறது pantheon-gitlab-blog-demo. திட்டத்தின் பெயர் தனிப்பட்டதாக இருக்க வேண்டும். இங்கே நாம் ஒரு வேர்ட்பிரஸ் தளத்துடன் வேலை செய்வோம். நீங்கள் Drupal ஐ எடுத்துக் கொள்ளலாம், ஆனால் நீங்கள் சில விஷயங்களை மாற்ற வேண்டும்.

நான் பயன்படுத்துவேன் Git கட்டளை வரிமற்றும் நீங்கள் வேலை செய்யலாம் வரைகலை இடைமுகம், நீங்கள் விரும்பினால்.

ஒரு திட்டத்தை உருவாக்கவும்

முதலில், உருவாக்குவோம் GitLab திட்டம் (இதற்கு பிறகு வருவோம்).

இப்போது Pantheon இல் ஒரு வேர்ட்பிரஸ் வலைத்தளத்தை உருவாக்குதல். தள டாஷ்போர்டிற்கு வேர்ட்பிரஸ் நிறுவுகிறோம்.

உங்கள் கைகள் எதையாவது மாற்றுவதற்கு அரிப்பு இருந்தால், எடுத்துக்காட்டாக, செருகுநிரல்களை அகற்றவும் அல்லது சேர்க்கவும், பொறுமையாக இருங்கள். தளம் இன்னும் GitLab உடன் இணைக்கப்படவில்லை, மேலும் அனைத்து குறியீடு மாற்றங்களும் GitLab வழியாகச் செல்ல வேண்டும் என்று நாங்கள் விரும்புகிறோம்.

நாம் WordPress ஐ நிறுவியதும், Pantheon இணையதள டாஷ்போர்டிற்குச் சென்று, வளர்ச்சிப் பயன்முறையை Gitக்கு மாற்றவும்.

GitLab மற்றும் Pantheon ஐ எவ்வாறு இணைப்பது மற்றும் Drupal மற்றும் WordPress பணிப்பாய்வுகளை மேம்படுத்துவது எப்படி

GitLab இல் ஆரம்ப பொறுப்பு

இப்போது நீங்கள் ஆரம்ப வேர்ட்பிரஸ் குறியீட்டை Pantheon தளத்தில் இருந்து GitLab க்கு மாற்ற வேண்டும். இதைச் செய்ய, உள்ளூரில் உள்ள Pantheon தளத்தின் Git களஞ்சியத்திலிருந்து குறியீட்டை குளோன் செய்து, GitLab களஞ்சியத்திற்கு அனுப்புவோம்.

எளிதாகவும் பாதுகாப்பாகவும் செய்ய, Pantheon இல் SSH விசையைச் சேர்க்கவும் மேலும் ஒவ்வொரு முறையும் நாம் Pantheon Git களஞ்சியத்தை குளோன் செய்யும் போது கடவுச்சொல்லை உள்ளிட வேண்டியதில்லை. அதே நேரத்தில் ஏற்கனவே GitLab இல் SSH விசையைச் சேர்க்கவும்.

இதைச் செய்ய, தள டாஷ்போர்டில் உள்ள குளோன் வித் ஜிட் புலத்திலிருந்து கட்டளையை நகலெடுப்பதன் மூலம் பாந்தியன் தளத்தை உள்ளூரில் குளோன் செய்யவும்.

GitLab மற்றும் Pantheon ஐ எவ்வாறு இணைப்பது மற்றும் Drupal மற்றும் WordPress பணிப்பாய்வுகளை மேம்படுத்துவது எப்படி
உங்களுக்கு உதவி தேவைப்பட்டால், ஆவணத்தைப் படிக்கவும் Git for Pantheon உடன் தொடங்குதல்.

இப்போது மாறுவோம் git remote originPantheon க்கு பதிலாக GitLab ஐ சுட்டிக்காட்ட வேண்டும். அது முடியும் командой git remote.

GitLab திட்டத்திற்குச் சென்று, திட்ட விவரங்கள் பக்கத்தில் உள்ள குளோன் கீழ்தோன்றலில் இருந்து களஞ்சிய URL ஐ நகலெடுக்கலாம். நாம் ஏற்கனவே SSH விசையை உள்ளமைத்துள்ளதால், SSH உடன் குளோன் விருப்பத்தைத் தேர்வு செய்வோம்.

GitLab மற்றும் Pantheon ஐ எவ்வாறு இணைப்பது மற்றும் Drupal மற்றும் WordPress பணிப்பாய்வுகளை மேம்படுத்துவது எப்படி

இயல்பாக git remote குறியீடு களஞ்சியத்தின் உள்ளூர் நகலுக்கு - origin. இதை மாற்றலாம் c git remote set-url origin [URL репозитория GitLab], அடைப்புக்குறிகளுக்கு பதிலாக உண்மையான URL ஐ உள்ளிடுகிறோம்.

இறுதியாக, நாங்கள் தொடங்குகிறோம் git push origin master --forceவேர்ட்பிரஸ் குறியீட்டை Pantheon இலிருந்து GitLab க்கு தள்ள.

-force விருப்பம் ஒருமுறை மட்டுமே தேவைப்படும். பின்னர் அணிகளில் git push அது GitLab இல் இருக்காது.

நற்சான்றிதழ்கள் மற்றும் மாறிகளை அமைத்தல்

Pantheon மற்றும் GitLab இல் உள்நுழைய உள்நாட்டில் SSH விசையைச் சேர்த்தது எப்படி என்பதை நினைவில் கொள்க? GitLab மற்றும் Pantheon ஐ அங்கீகரிக்க SSH டோக்கனைப் பயன்படுத்தலாம்.

GitLab சிறந்த ஆவணங்களைக் கொண்டுள்ளது. பார்க்கலாம் GitLab CI/CD உடன் SSH விசைகளைப் பயன்படுத்துவதற்கான ஆவணத்தில் டோக்கர் எக்ஸிகியூட்டரைப் பயன்படுத்தும் போது SSH விசைகளில் பிரிவு.

இப்போது முதல் இரண்டு படிகளை முடிப்போம்: உள்நாட்டில் ssh-keygen உடன் புதிய SSH விசை ஜோடியை உருவாக்கி, திட்டத்திற்கு மாறியாக தனிப்பட்ட விசையைச் சேர்ப்போம்..

பிறகு கேட்போம் SSH_PRIVATE_KEY எப்படி GitLab CI/CD சூழல் மாறி திட்ட அமைப்புகளில்.
மூன்றாவது மற்றும் நான்காவது படிகளில் நாம் ஒரு கோப்பை உருவாக்குவோம் .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, நீங்கள் அதில் வேறு ஏதாவது சேர்க்க வேண்டும்.

இப்போது நாம் ஐந்தாவது படி மற்றும் உருவாக்க சூழலில் நீங்கள் அணுக வேண்டிய சேவைகளில் முதல் படியில் நீங்கள் உருவாக்கிய பொது விசையைச் சேர்க்கவும்.

எங்கள் விஷயத்தில், GitLab இலிருந்து Pantheon ஐ அணுக விரும்புகிறோம். பாந்தியன் ஆவணத்தில் உள்ள வழிமுறைகளைப் பின்பற்றுகிறோம் Pantheon இல் SSH விசையைச் சேர்த்தல் மற்றும் இந்த படி செய்ய.

நினைவில் கொள்ளுங்கள்: தனிப்பட்ட SSH GitLab இல் உள்ளது, திறந்த SSH Pantheon இல் உள்ளது.

இன்னும் சில சூழல் மாறிகளை அமைப்போம். முதலாவது PANTHEON_SITE என அழைக்கப்படுகிறது. அதன் மதிப்பு உங்கள் கணினியில் உள்ள Pantheon தளத்தின் பெயராகும்.

கணினியில் உள்ள பெயர் Git கட்டளையுடன் குளோனின் முடிவில் பட்டியலிடப்பட்டுள்ளது. நீங்கள் ஏற்கனவே தளத்தை உள்ளூரில் குளோன் செய்துள்ளீர்கள், எனவே இது உள்ளூர் களஞ்சிய கோப்பகத்தின் பெயராக இருக்கும்.

GitLab மற்றும் Pantheon ஐ எவ்வாறு இணைப்பது மற்றும் Drupal மற்றும் WordPress பணிப்பாய்வுகளை மேம்படுத்துவது எப்படி

அடுத்து, சூழல் மாறியை அமைப்போம் PANTHEON_GIT_URL. இது நாம் ஏற்கனவே பயன்படுத்திய Pantheon தளத்திற்கான Git களஞ்சிய URL ஆகும்.

இல்லாமல், SSH களஞ்சிய URL ஐ மட்டும் உள்ளிடவும் git clone மற்றும் கடைசியில் கணினியில் உள்ள தளத்தின் பெயர்.

ப்யூ. அது முடிந்தது, இப்போது நம் கோப்பை முடிக்கலாம் .gitlab-ci.yml.

வரிசைப்படுத்தல் பணியை உருவாக்கவும்

GitLab CI உடன் நாம் ஆரம்பத்தில் என்ன செய்வோம் என்பது கடந்த காலத்தில் Git களஞ்சியங்களில் நாங்கள் செய்ததைப் போலவே உள்ளது. ஆனால் இந்த முறை, Pantheon களஞ்சியத்தை இரண்டாவது தொலைநிலை Git மூலமாகச் சேர்ப்போம், பின்னர் குறியீட்டை GitLab இலிருந்து Pantheon க்கு தள்ளுவோம்.

இதைச் செய்ய, கட்டமைப்போம் மேடை deploy и பணி deploy:dev, ஏனெனில் நாம் பாந்தியனில் வளர்ச்சி சூழலுக்கு பயன்படுத்துவோம். இதன் விளைவாக வரும் கோப்பு .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 பல முறை, அவை ஒரே இடத்தில் மட்டுமே புதுப்பிக்கப்பட வேண்டும்.

இறுதியாக, கோப்பைச் சேர்த்து, உறுதிசெய்து அனுப்பவும் .gitlab-ci.yml GitLab இல்.

வரிசைப்படுத்தலைச் சரிபார்க்கிறது

நாம் எல்லாவற்றையும் சரியாகச் செய்தால், பணி deploy:dev GitLab CI/CD இல் வெற்றிகரமாக இயங்கி உறுதிமொழியைச் சமர்ப்பிக்கும் .gitlab-ci.yml பாந்தியனில். பார்க்கலாம்.

GitLab மற்றும் Pantheon ஐ எவ்வாறு இணைப்பது மற்றும் Drupal மற்றும் WordPress பணிப்பாய்வுகளை மேம்படுத்துவது எப்படி

GitLab மற்றும் Pantheon ஐ எவ்வாறு இணைப்பது மற்றும் Drupal மற்றும் WordPress பணிப்பாய்வுகளை மேம்படுத்துவது எப்படி

GitLab மற்றும் Pantheon ஐ எவ்வாறு இணைப்பது மற்றும் Drupal மற்றும் WordPress பணிப்பாய்வுகளை மேம்படுத்துவது எப்படி

ஒன்றிணைப்பு கோரிக்கை இழைகளை பாந்தியனுக்கு அனுப்புகிறது

இங்கே நான் எனக்கு பிடித்த பாந்தியன் அம்சத்தைப் பயன்படுத்துவோம் - பலதேவ், தேவைக்கேற்ப Git கிளைகளுக்கான கூடுதல் Pantheon சூழல்களை நீங்கள் உருவாக்கலாம்.

மல்டிடெவிற்கான அணுகல் குறைவாக உள்ளது, எனவே இந்த பகுதியை தவிர்க்கலாம். ஆனால் உங்களிடம் அணுகல் இருந்தால், GitLab ஒன்றிணைப்பு கோரிக்கைகளிலிருந்து Pantheon இல் மல்டிடெவ் சூழல்களை தானாக உருவாக்குவதன் மூலம் உற்பத்தித்திறனை அதிகரிக்கலாம்.

முதலில் உள்நாட்டில் ஒரு புதிய Git கிளையை உருவாக்குவோம் git checkout -b multidev-support. இப்போது மீண்டும் ஒன்றை மாற்றுவோம் .gitlab-ci.yml.

ஒன்றிணைப்பு கோரிக்கை எண்ணை Pantheon சூழல் பெயரில் சேர்க்க விரும்புகிறேன். எடுத்துக்காட்டாக, முதல் இணைப்பு கோரிக்கை mr-1, இரண்டாவது - mr-2 முதலியன

ஒன்றிணைப்பு கோரிக்கை மாறுகிறது, எனவே நாம் பாந்தியன் கிளை பெயர்களை மாறும் வகையில் தீர்மானிக்க வேண்டும். GitLab இல் இது எளிதானது - நீங்கள் பயன்படுத்த வேண்டும் முன் வரையறுக்கப்பட்ட சூழல் மாறிகள்.

நாம் எடுக்கலாம் $CI_MERGE_REQUEST_IIDஇணைப்பு கோரிக்கை எண்ணைக் குறிப்பிடவும். நாம் முன்னர் குறிப்பிட்ட உலகளாவிய சூழல் மாறிகளுடன் இதைப் பயன்படுத்துவோம் மற்றும் கோப்பின் முடிவில் ஒரு புதிய வரிசைப்படுத்தல்: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கிளிக் செய்வதன் மூலம் ஒன்றிணைக்கும் கோரிக்கையை உருவாக்கவும்.

GitLab மற்றும் Pantheon ஐ எவ்வாறு இணைப்பது மற்றும் Drupal மற்றும் WordPress பணிப்பாய்வுகளை மேம்படுத்துவது எப்படி

ஒன்றிணைக்கும் கோரிக்கையை உருவாக்கிய பிறகு, CI/CD பணி எவ்வாறு செயல்படுத்தப்படுகிறது என்பதைப் பார்க்கிறோம் deploy:multidev.

GitLab மற்றும் Pantheon ஐ எவ்வாறு இணைப்பது மற்றும் Drupal மற்றும் WordPress பணிப்பாய்வுகளை மேம்படுத்துவது எப்படி

பாந்தியன் ஒரு புதிய நூல் அனுப்பப்பட்டுள்ளது பாருங்கள். ஆனால் Pantheon தள டாஷ்போர்டில் உள்ள multidev பகுதிக்குச் சென்றால், அங்கு புதிய சூழலைப் பார்க்க முடியாது.

GitLab மற்றும் Pantheon ஐ எவ்வாறு இணைப்பது மற்றும் Drupal மற்றும் WordPress பணிப்பாய்வுகளை மேம்படுத்துவது எப்படி

Git கிளைகள் பகுதியைப் பார்ப்போம்.

GitLab மற்றும் Pantheon ஐ எவ்வாறு இணைப்பது மற்றும் Drupal மற்றும் WordPress பணிப்பாய்வுகளை மேம்படுத்துவது எப்படி

இதன் விளைவாக, எங்கள் நூல் mr-1 பாந்தியனுக்கு கிடைத்தது. ஒரு கிளையிலிருந்து சூழலை உருவாக்குவோம் mr-1.

GitLab மற்றும் Pantheon ஐ எவ்வாறு இணைப்பது மற்றும் Drupal மற்றும் WordPress பணிப்பாய்வுகளை மேம்படுத்துவது எப்படி

பலதேவ் சூழலை உருவாக்கியுள்ளோம், இப்போது மீண்டும் GitLab க்கு சென்று பிரிவைப் பார்ப்போம் செயல்பாடுகள் > சூழல்கள். என்பதற்கான பதிவுகளைப் பார்ப்போம் dev и mr-1.

நாங்கள் ஒரு உள்ளீட்டைச் சேர்த்ததே இதற்குக் காரணம் environment பெயருடன் name и url CI/CD பணிகளில். திறந்த சூழல் ஐகானைக் கிளிக் செய்தால், நாம் Pantheon இல் உள்ள multidev சூழலின் URL க்கு அழைத்துச் செல்லப்படுவோம்.

மல்டிடெவ் உருவாக்கத்தை தானியங்குபடுத்துங்கள்

கொள்கையளவில், நீங்கள் இங்கே நிறுத்தலாம் மற்றும் ஒவ்வொரு ஒன்றிணைப்பு கோரிக்கைக்கும் ஒரு மல்டிடெவ் சூழலை உருவாக்க நினைவில் கொள்ளுங்கள், ஆனால் இந்த செயல்முறை தானாகவே செய்யப்படலாம்.

Pantheon ஒரு கட்டளை வரி கருவி உள்ளது டெர்மினஸ், நீங்கள் இயங்குதளத்துடன் தானாக வேலை செய்ய முடியும். கட்டளை வரியிலிருந்து மல்டிடெவ் சூழல்களை உருவாக்க டெர்மினஸ் உங்களை அனுமதிக்கிறது - இதற்கு ஏற்றது கிட்லாப் சி.ஐ..

இதைச் சோதிக்க எங்களுக்கு புதிய இணைப்புக் கோரிக்கை தேவை. பயன்படுத்தி புதிய கிளையை உருவாக்குவோம் git checkout -b auto-multidev-creation.

GitLab CI/CD பணிகளில் டெர்மினஸைப் பயன்படுத்த, டெர்மினஸுடன் அங்கீகாரத்திற்கான இயந்திர டோக்கனும் டெர்மினஸுடன் ஒரு கொள்கலன் படமும் தேவை.

பாந்தியன் மெஷின் டோக்கனை உருவாக்குதல், பாதுகாப்பான இடத்தில் சேமித்து, GitLab இல் உலகளாவிய சூழல் மாறியாக அதை பெயருடன் சேர்க்கவும் PANTHEON_MACHINE_TOKEN.

GitLab சூழல் மாறிகளை எவ்வாறு சேர்ப்பது என்பதை நீங்கள் மறந்துவிட்டால், நாங்கள் வரையறுத்த இடத்திற்குச் செல்லவும் PANTHEON_SITE.

டெர்மினஸுடன் ஒரு டாக்கர்ஃபைலை உருவாக்குதல்

நீங்கள் டோக்கரைப் பயன்படுத்தவில்லை அல்லது கோப்புகளைப் பிடிக்கவில்லை என்றால் Dockerfile, என் படத்தை எடு registry.gitlab.com/ataylorme/pantheon-gitlab-blog-demo:latest மற்றும் இந்த பகுதியை தவிர்க்கவும்.

GitLab ஒரு கொள்கலன் பதிவேட்டைக் கொண்டுள்ளது, எங்கள் திட்டத்திற்கான Dockerfile ஐ உருவாக்கி வைக்கலாம். Pantheon உடன் பணிபுரிய Terminus உடன் Dockerfile ஐ உருவாக்குவோம்.

டெர்மினஸ் ஒரு PHP கட்டளை வரி கருவி, எனவே PHP படத்துடன் தொடங்குவோம். நான் இசையமைப்பாளர் மூலம் டெர்மினஸை நிறுவுகிறேன், எனவே நான் பயன்படுத்துகிறேன் அதிகாரப்பூர்வ டோக்கர் இசையமைப்பாளர் படம். நாங்கள் உருவாக்குகிறோம் 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.

GitLab மற்றும் Pantheon ஐ எவ்வாறு இணைப்பது மற்றும் Drupal மற்றும் WordPress பணிப்பாய்வுகளை மேம்படுத்துவது எப்படி

பிரிவில் 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 ஐ எவ்வாறு இணைப்பது மற்றும் Drupal மற்றும் WordPress பணிப்பாய்வுகளை மேம்படுத்துவது எப்படி

முடிவுக்கு

ஒன்றிணைப்பு கோரிக்கைகளைத் திறந்து தானாக சூழல்களை உருவாக்கத் தொடங்கியபோது எனது குழு மிகவும் வேடிக்கையாக இருந்தது.

GitLab மற்றும் Pantheon இன் சக்திவாய்ந்த கருவிகள் மூலம், நீங்கள் GitLab ஐ Pantheon உடன் தானாக இணைக்கலாம்.

நாங்கள் GitLab CI/CD ஐப் பயன்படுத்துவதால், எங்கள் பணிப்பாய்வு வளர்ச்சிக்கு இடமளிக்கும். நீங்கள் தொடங்குவதற்கு இங்கே சில யோசனைகள் உள்ளன:

  • கட்டமைக்கும் படியைச் சேர்க்கவும்.
  • தானியங்கு சோதனையைச் சேர்க்கவும்.
  • குறியீடு தரநிலைகள் பூர்த்தி செய்யப்படுவதை உறுதிசெய்ய ஒரு பணியைச் சேர்க்கவும்.
  • கூட்டு டைனமிக் பயன்பாட்டு பாதுகாப்பு சோதனை.

GitLab, Pantheon மற்றும் ஆட்டோமேஷன் பற்றி நீங்கள் என்ன நினைக்கிறீர்கள் என்பதை எங்களுக்குத் தெரியப்படுத்துங்கள்.

PS, Pantheon இன் கட்டளை வரி கருவியான Terminus என்பது உங்களுக்குத் தெரியுமா? செருகுநிரல்கள் மூலம் நீட்டிக்க முடியும்?

Pantheon இல் நாங்கள் எங்கள் பதிப்பு 2 இல் ஒரு நல்ல வேலையைச் செய்துள்ளோம் டெர்மினஸ் உருவாக்க கருவிகளுக்கான சொருகி GitLab ஆதரவுடன். ஒவ்வொரு திட்டத்திற்கான அமைப்புகளையும் நீங்கள் தொந்தரவு செய்ய விரும்பவில்லை என்றால், இந்த செருகுநிரலை முயற்சிக்கவும் மற்றும் v2 பீட்டாவைச் சோதிக்க எங்களுக்கு உதவவும். டெர்மினஸ் அணிக்காக build:project:create உங்களுக்கு ஒரு Pantheon டோக்கன் மற்றும் GitLab டோக்கன் மட்டுமே தேவை. அவர் இசையமைப்பாளர் மற்றும் தானியங்கு சோதனையுடன் மாதிரி திட்டங்களில் ஒன்றைப் பயன்படுத்துவார், புதிய Pantheon தளமான GitLab இல் ஒரு புதிய திட்டத்தை உருவாக்குவார், மேலும் சூழல் மாறிகள் மற்றும் SSH விசைகளைப் பயன்படுத்தி அவற்றை இணைப்பார்.

எழுத்தாளர் பற்றி

ஆண்ட்ரூ டெய்லர் டெவலப்பர்களுக்கான கருவிகளை உருவாக்குகிறார் பாந்தியன்.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்