GitLab CI/CD உடன் ஒத்துழைக்க HashiCorp Waypoint ஐ எவ்வாறு பயன்படுத்துவது

GitLab CI/CD உடன் ஒத்துழைக்க HashiCorp Waypoint ஐ எவ்வாறு பயன்படுத்துவது

HashiCorp ஒரு புதிய திட்டத்தைக் காட்டியது பாதைப்புள்ளி மீது ஹாஷிகார்ப் டிஜிட்டல். குபெர்னெட்டஸ் முதல் ஏடபிள்யூஎஸ் முதல் கூகுள் கிளவுட் ரன் வரையிலான பல்வேறு கிளவுட் பிளாட்ஃபார்ம்களுக்கான அப்ளிகேஷன்களை உருவாக்குதல், வழங்குதல் மற்றும் வெளியிடுதல் ஆகியவற்றை விவரிக்க HCL-அடிப்படையிலான கோப்பை இது பயன்படுத்துகிறது. உங்கள் பயன்பாடுகளை உருவாக்குதல், அனுப்புதல் மற்றும் வெளியிடுதல் ஆகியவற்றின் செயல்முறையை விவரிக்க, டெர்ராஃபார்ம் மற்றும் வேக்ரான்ட் இணைந்து வேபாயிண்ட் என நீங்கள் நினைக்கலாம்.

வடிவத்திற்கு உண்மையாக, HashiCorp திறந்த மூலமாக Waypoint ஐ வெளியிட்டது மற்றும் பல எடுத்துக்காட்டுகளுடன் வருகிறது. ஆர்கெஸ்ட்ரேட்டர் லேயர் உங்களுடையது, உங்கள் லேப்டாப்பில் அல்லது உங்கள் விருப்பமான CI/CD ஆர்கெஸ்ட்ரேஷன் கருவியில் இருந்து நேரடியாக இயக்கக்கூடிய இயங்கக்கூடியதாக வேபாயிண்ட் வருகிறது. Waypoint Kubernetes, Docker, Google Cloud Run, AWS ECS மற்றும் பலவற்றை ஆதரிப்பதால், உங்கள் பயன்பாடுகளைப் பயன்படுத்துவதற்கான இலக்கும் உங்களுடையது.

ரெண்டு படிச்சதும் ஆவணங்கள் மற்றும் மிகவும் ஆடம்பரமானது உதாரணங்கள் HashiCorp வழங்கிய பயன்பாடுகள், GitLab CI/CD ஐப் பயன்படுத்தி வேபாயிண்ட் ஆர்கெஸ்ட்ரேஷனைக் கூர்ந்து கவனிக்க முடிவு செய்தோம். இதைச் செய்ய, எடுத்துக்காட்டுகள் களஞ்சியத்திலிருந்து AWS ECS இல் இயங்கும் எளிய Node.js பயன்பாட்டை எடுப்போம்.

களஞ்சியத்தை குளோனிங் செய்த பிறகு, ஒரு பக்கத்தைக் காண்பிக்கும் பயன்பாட்டின் கட்டமைப்பைப் பார்ப்போம்:

GitLab CI/CD உடன் ஒத்துழைக்க HashiCorp Waypoint ஐ எவ்வாறு பயன்படுத்துவது

நீங்கள் கவனித்தபடி, இந்த திட்டத்தில் Dockerfile இல்லை. அவை எடுத்துக்காட்டில் சேர்க்கப்படவில்லை, ஏனென்றால் கொள்கையளவில் அவை நமக்குத் தேவையில்லை, ஏனென்றால் வேபாயிண்ட் அவற்றை நமக்காக கவனித்துக் கொள்ளும். கோப்பை இன்னும் விரிவாகப் பார்ப்போம் waypoint.hclஅது என்ன செய்யும் என்பதைப் புரிந்து கொள்ள:

project = "example-nodejs"

app "example-nodejs" {
  labels = {
    "service" = "example-nodejs",
    "env" = "dev"
  }

  build {
    use "pack" {}
    registry {
    use "aws-ecr" {
        region = "us-east-1"
        repository = "waypoint-gitlab"
        tag = "latest"
    }
    }
  }

  deploy {
    use "aws-ecs" {
    region = "us-east-1"
    memory = "512"
    }
  }
}

உருவாக்க கட்டத்தில், Waypoint Cloud Native Buildpacks ஐப் பயன்படுத்துகிறது (CNB) திட்டத்தின் நிரலாக்க மொழியைத் தீர்மானிக்க மற்றும் Dockerfile ஐப் பயன்படுத்தாமல் ஒரு Docker படத்தை உருவாக்கவும். கொள்கையளவில், GitLab ஒரு பகுதியாகப் பயன்படுத்தும் அதே தொழில்நுட்பமாகும் ஆட்டோ டெவொப்ஸ் ஆட்டோ பில்ட் படியில். CNCF இன் CNB தொழில்துறை பயனர்களிடையே அதிக வரவேற்பைப் பெறுவதைப் பார்ப்பது நல்லது.

படம் கட்டப்பட்டதும், வேபாயிண்ட் அதை தானாகவே எங்கள் AWS ECR பதிவேட்டில் பதிவேற்றும், எனவே அது டெலிவரிக்கு தயாராக உள்ளது. உருவாக்கம் முடிந்ததும், டெலிவரி படி பயன்படுத்துகிறது AWS ECS செருகு நிரல் எங்கள் AWS கணக்கில் எங்கள் விண்ணப்பத்தை பயன்படுத்த.

எனது மடிக்கணினியிலிருந்து - எல்லாம் எளிது. எனது AWS கணக்கில் ஏற்கனவே அங்கீகரிக்கப்பட்ட ஒரு வே பாயின்ட்டை நான் வைத்துள்ளேன், அது "வேலை செய்யும்". ஆனால் நான் எனது மடிக்கணினிக்கு அப்பால் செல்ல விரும்பினால் என்ன ஆகும்? அல்லது எனது தற்போதைய ஒருங்கிணைப்புச் சோதனைகள், பாதுகாப்புச் சோதனைகள் மற்றும் பிற இயங்கும் எனது ஒட்டுமொத்த CI/CD பைப்லைனின் ஒரு பகுதியாக இந்தத் வரிசைப்படுத்தலைத் திடீரென்று தானியக்கமாக்க விரும்புகிறேனா? GitLab CI/CD வரும் கதையின் பகுதி இது!

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

GitLab CI/CD இல் உள்ள வே பாயிண்ட்

இதையெல்லாம் GitLab CI/CD இல் ஆர்கெஸ்ட்ரேட் செய்ய, நமது கோப்பில் என்ன தேவை என்று பார்க்கலாம். .gitlab-ci.yml:

  • முதலில், அதன் உள்ளே இயங்க உங்களுக்கு ஒரு அடிப்படை படம் தேவை. வேபாயிண்ட் எந்த லினக்ஸ் விநியோகத்திலும் வேலை செய்கிறது, அதற்கு டோக்கர் மட்டுமே தேவை, எனவே நாம் பொதுவான டோக்கர் படத்துடன் இயக்கலாம்.
  • அடுத்து இந்த படத்தில் Waypoint ஐ நிறுவ வேண்டும். எதிர்காலத்தில் நாம் சேகரிக்கலாம் பட மெட்டா உருவாக்கம் மற்றும் இந்த செயல்முறையை உங்களுக்காகக் கொள்க.
  • இறுதியாக நாம் Waypoint கட்டளைகளை இயக்குவோம்

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

AWS இல் GitLab CICD அங்கீகாரத்திற்கான பல விருப்பங்கள் உள்ளன. முதல் விருப்பம் உள்ளமைக்கப்பட்டதைப் பயன்படுத்துவதாகும் ஹாஷிகார்ப் வால்ட். நற்சான்றிதழ் நிர்வாகத்திற்காக உங்கள் குழு ஏற்கனவே வால்ட்டைப் பயன்படுத்தினால் இது மிகவும் நல்லது. AWS IAM ஐப் பயன்படுத்தி உங்கள் குழு அங்கீகாரத்தை நிர்வகித்தால் செயல்படும் மற்றொரு விருப்பம், டெலிவரி பணிகள் தூண்டப்பட்டதா என்பதைச் சரிபார்க்க வேண்டும். GitLab ரன்னர், IAM மூலம் வரிசைப்படுத்தலை இயக்க அங்கீகரிக்கப்பட்டது. ஆனால் நீங்கள் Waypoint ஐப் பற்றி நன்கு தெரிந்துகொள்ள விரும்பினால், அதை விரைவாகச் செய்ய விரும்பினால், ஒரு கடைசி விருப்பம் உள்ளது - உங்கள் AWS API மற்றும் ரகசிய விசைகளைச் சேர்க்கவும் GitLab CI/CD சூழல் மாறிகள் AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY.

இது அனைத்தையும் ஒன்றாக இணைக்கிறது

அங்கீகாரத்தைப் புரிந்துகொண்டவுடன், நாம் தொடங்கலாம்! எங்கள் இறுதி .gitlab-ci.yml இது போல் தெரிகிறது:

waypoint:
  image: docker:latest
  stage: build
  services:
    - docker:dind
  # Define environment variables, e.g. `WAYPOINT_VERSION: '0.1.1'`
  variables:
    WAYPOINT_VERSION: ''
    WAYPOINT_SERVER_ADDR: ''
    WAYPOINT_SERVER_TOKEN: ''
    WAYPOINT_SERVER_TLS: '1'
    WAYPOINT_SERVER_TLS_SKIP_VERIFY: '1'
  script:
    - wget -q -O /tmp/waypoint.zip https://releases.hashicorp.com/waypoint/${WAYPOINT_VERSION}/waypoint_${WAYPOINT_VERSION}_linux_amd64.zip
    - unzip -d /usr/local/bin /tmp/waypoint.zip
    - rm -rf /tmp/waypoint*
    - waypoint init
    - waypoint build
    - waypoint deploy
    - waypoint release

நாம் ஒரு படத்துடன் தொடங்குவதை நீங்கள் காண்கிறீர்கள் docker:latest மற்றும் வேபாயிண்ட் மூலம் தேவைப்படும் பல சூழல் மாறிகளை அமைக்கவும். அத்தியாயத்தில் script Waypoint இயங்கக்கூடிய சமீபத்திய பதிப்பை நாங்கள் பதிவிறக்கம் செய்து அதை நிறுவுகிறோம் /usr/local/bin. எங்கள் ரன்னர் ஏற்கனவே AWS இல் அங்கீகரிக்கப்பட்டிருப்பதால், அடுத்து நாங்கள் வெறுமனே ஓடுவோம் waypoint init, build, deploy и release.

பில்ட் டாஸ்கின் வெளியீடு, நாங்கள் அப்ளிகேஷனை உருவாக்கிய இறுதிப் புள்ளியைக் காண்பிக்கும்:

GitLab CI/CD உடன் ஒத்துழைக்க HashiCorp Waypoint ஐ எவ்வாறு பயன்படுத்துவது

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

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

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

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

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