ከ GitLab CI/CD ጋር ለመተባበር HashiCorp Waypointን እንዴት መጠቀም እንደሚቻል

ከ GitLab CI/CD ጋር ለመተባበር HashiCorp Waypointን እንዴት መጠቀም እንደሚቻል

HashiCorp አዲስ ፕሮጀክት አሳይቷል። ዌይ ነጥብ ላይ HashiCorp ዲጂታል. ከKubernetes እስከ AWS እና Google Cloud Run ያሉ የተለያዩ የደመና መድረኮችን መገንባትን፣ ማጓጓዝ እና መልቀቅን ለመግለጽ በHCL ላይ የተመሰረተ ፋይል ይጠቀማል። የእርስዎን መተግበሪያዎች የመገንባት፣ የማጓጓዣ እና የመልቀቅ ሂደትን ለመግለጽ Terraform እና Vagrant አንድ ላይ ሲሰባሰቡ Waypointን ያስቡ።

ለመመስረት እውነት ነው፣ HashiCorp Waypointን እንደ ክፍት ምንጭ አውጥቷል፣ እና ከብዙ ምሳሌዎች ጋር አብሮ ይመጣል። የኦርኬስትራ ደረጃው የእርስዎ ነው፣ Waypoint እንደ ፈጻሚ ሆኖ ይመጣል ይህም በላፕቶፕዎ ላይ ወይም ከመረጡት የ CI/CD ኦርኬስትራ መሳሪያዎ በቀጥታ ማስኬድ ይችላሉ። Waypoint Kubernetes፣ Docker፣ Google Cloud Run፣ AWS ECS እና ሌሎችንም ስለሚደግፍ የመተግበሪያው ማሰማራት ኢላማው የእርስዎ ነው።

አስደናቂውን ካነበቡ በኋላ ሰነዶች እና ምርጥ ምሳሌዎች በሃሺኮርፕ የቀረቡ አፕሊኬሽኖች የ Waypoint ኦርኬስትራ በ GitLab CI/CD ላይ ጠለቅ ብለን ለማየት ወስነናል። ይህንን ለማድረግ በ AWS ECS ላይ የሚሰራ ቀላል የ Node.js መተግበሪያ ከናሙና ማከማቻው እንወስዳለን።

ማከማቻውን ከዘጋን በኋላ፣ አንድ ገጽ የሚያሳየውን የመተግበሪያውን መዋቅር እንመልከት፡-

ከ GitLab CI/CD ጋር ለመተባበር HashiCorp Waypointን እንዴት መጠቀም እንደሚቻል

እርስዎ እንዳስተዋሉት፣ ይህ ፕሮጀክት Dockerfile የለውም። በምሳሌው ውስጥ አልተጨመሩም ምክንያቱም እኛ በትክክል ስለማንፈልጋቸው ነው ምክንያቱም ዌይpoint ለኛ ይንከባከባል. ፋይሉን ጠለቅ ብለን እንመልከተው 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 የክላውድ ቤተኛ Buildpacksን ይጠቀማል (CNB) የፕሮጀክቱን የፕሮግራም አወጣጥ ቋንቋ ለመወሰን እና Dockerfile ሳይጠቀሙ የዶከር ምስል ለመፍጠር. በመርህ ደረጃ, ይህ GitLab በከፊል የሚጠቀመው ተመሳሳይ ቴክኖሎጂ ነው ራስ-ሰር DevOps በራስ-ሰር ግንባታ ደረጃ። የ CNCF's CNB በኢንዱስትሪ ተጠቃሚዎች ዘንድ ተቀባይነት ሲያገኝ ማየት በጣም ጥሩ ነው።

ምስሉ አንዴ ከተሰራ ዌይpoint በቀጥታ ወደ AWS ECR መመዝገቢያችን ይሰቀላል ስለዚህ ለማድረስ ዝግጁ ይሆናል። ግንባታው ከተጠናቀቀ በኋላ የመላኪያ ደረጃ ይጠቀማል AWS ECS ተጨማሪ የእኛን መተግበሪያ ወደ AWS መለያችን ለማሰማራት።

ከእኔ ላፕቶፕ - ሁሉም ነገር ቀላል ነው. በAWS መለያዬ ውስጥ የተረጋገጠውን Waypoint አስገባሁ እና "ልክ ይሰራል"። ግን ከላፕቶፑ በላይ መሄድ ከፈለግኩ ምን ይሆናል? ወይም እንደ አጠቃላይ የ CI/CD ቧንቧ መስመር አካል፣ የእኔ ቀጣይነት ያለው የውህደት ፈተናዎች፣ የደህንነት ሙከራዎች እና ሌሎችም የሚካሄዱበት ይህን ማሰማራት በድንገት በራስ ሰር መስራት እፈልጋለሁ? ይህ GitLab CI/CD የሚገባበት የታሪኩ አካል ነው!

ማሳሰቢያ CI/CD ን ለመተግበር እያቀዱ ከሆነ ወይም የቧንቧ መስመሮችን ለመገንባት ምርጡን ልምዶችን መተግበር ለመጀመር ከፈለጉ ለአዲሱ Slurm ኮርስ ትኩረት ይስጡ። "CI/CD በ Gitlab CI ምሳሌ". አሁን በቅድመ-ትዕዛዝ ዋጋ ይገኛል።

የመንገድ ነጥብ በ GitLab CI/ሲዲ

በ GitLab CI/CD ውስጥ እነዚህን ሁሉ ለማቀናጀት፣ በፋይላችን ውስጥ ምን እንደሚያስፈልገን እንይ .gitlab-ci.yml:

  • በመጀመሪያ ደረጃ, በውስጡ ለመሮጥ መሰረታዊ ምስል ያስፈልግዎታል. ዌይ ነጥብ በማንኛውም የሊኑክስ ስርጭት ላይ ይሰራል፣ Docker ብቻ ነው የሚያስፈልገው፣ ስለዚህ በጠቅላላ Docker ምስል መሮጥ እንችላለን።
  • በመቀጠል በዚህ ምስል ላይ Waypointን መጫን ያስፈልግዎታል. ወደፊት እንሰበስባለን ሜታ ግንባታ ምስል እና ይህን ሂደት ለራስዎ ያስቀምጡት.
  • በመጨረሻ የ Waypoint ትዕዛዞችን እናስኬዳለን።

ከዚህ በላይ የእኛ የቧንቧ መስመር ዝርጋታውን ለማከናወን የሚያስፈልጉትን ስክሪፕቶች ለማስኬድ የሚያስፈልገው ነገር ሁሉ ነው፣ ነገር ግን ወደ AWS ለማሰማራት አንድ ተጨማሪ ነገር እንፈልጋለን፡ ወደ AWS መለያችን መግባት አለብን። በ Waypoint መግለጫ ውስጥ ዕቅዶች አሉ። ስለ ማረጋገጫ እና ፍቃድ. HashiCorp በዚህ ሳምንት አስደናቂ ፕሮጀክት አውጥቷል። ድንበር. አሁን ግን ማረጋገጫ እና ፍቃድ ራሳችንን ወስደን መያዝ እንችላለን።

በAWS ላይ ለ GitLab CICD ማረጋገጫ ብዙ አማራጮች አሉ። የመጀመሪያው አማራጭ አብሮ የተሰራውን መጠቀም ነው ሃሺኮርፕ ቮልት. ቡድንዎ ቮልትን ለማረጋገጫ አስተዳደር አስቀድሞ የሚጠቀም ከሆነ ይህ በጣም ጥሩ ነው። ቡድንዎ AWS IAM ን በመጠቀም ፈቃዱን የሚያስተዳድር ከሆነ የሚሠራው ሌላው አማራጭ የማድረስ ተግባራት የተቀሰቀሱ መሆናቸውን ማረጋገጥ ነው። GitLab ሯጭ, በ IAM በኩል ማሰማራቱን ለማስኬድ የተፈቀደለት. ግን ከ Waypoint ጋር ለመተዋወቅ እና በፍጥነት ለመስራት ከፈለጉ፣ አንድ የመጨረሻ አማራጭ አለ - የእርስዎን AWS API እና Secret ቁልፎችን ወደዚህ ያክሉ። 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 እና በ Waypoint የሚፈለጉ በርካታ የአካባቢ ተለዋዋጮችን አዘጋጅ። በምዕራፍ ውስጥ script የቅርብ ጊዜውን የ Waypoint executable አውርደን እናስገባዋለን /usr/local/bin. የእኛ ሯጭ አስቀድሞ በAWS ውስጥ የተፈቀደለት በመሆኑ፣ በመቀጠል በቀላሉ እንሮጣለን። waypoint init, build, deploy и release.

የግንባታ ስራው ውጤት መተግበሪያውን የጠቀለልንበትን የመጨረሻ ነጥብ ያሳየናል፡-

ከ GitLab CI/CD ጋር ለመተባበር HashiCorp Waypointን እንዴት መጠቀም እንደሚቻል

የመንገድ ነጥብ አንዱ በርካታ HashiCorp መፍትሄዎችከ GitLab ጋር በደንብ የሚሰራ። ለምሳሌ፣ ማመልከቻውን ከማድረስ በተጨማሪ፣ ከስር ያለውን መሠረተ ልማት ማደራጀት እንችላለን ቴራፎርም በ GitLab. የኤስዲኤልሲ ደህንነትን መደበኛ ለማድረግ፣ እኛም መተግበር እንችላለን GitLab ከቮልት ጋር በ CI / ሲዲ ቧንቧዎች ውስጥ ምስጢሮችን እና ቶከኖችን ለማስተዳደር, ለልማት, ለሙከራ እና ለምርት አጠቃቀም በሚስጥር አስተዳደር ላይ ለሚተማመኑ ገንቢዎች እና አስተዳዳሪዎች የተሟላ መፍትሄ ይሰጣል.

በ HashiCorp እና GitLab የተገነቡ የጋራ መፍትሄዎች ኩባንያዎች ወጥ የሆነ የአቅርቦት ሰንሰለት እና የመሠረተ ልማት አስተዳደርን በማረጋገጥ አፕሊኬሽኖችን ለማዘጋጀት ምርጡን መንገድ እንዲያገኙ ያግዛሉ። ዌይ ነጥብ ወደ ትክክለኛው አቅጣጫ ሌላ እርምጃ ወስዷል እና የፕሮጀክቱን ተጨማሪ እድገት በጉጉት እንጠባበቃለን። ስለ Waypoint የበለጠ ማወቅ ይችላሉ። እዚህ፣ እንዲሁም መመርመር ተገቢ ነው። ሰነዶች и የልማት እቅድ ፕሮጀክት. ያገኘነውን እውቀት ጨምረናል። GitLab CICD ሰነድ. ሁሉንም ነገር እራስዎ መሞከር ከፈለጉ ፣ የተሟላ የስራ ምሳሌ መውሰድ ይችላሉ። ይህ ማከማቻ.

የ CI / ሲዲ መርሆዎችን መረዳት ፣ ከ Gitlab CI ጋር ለመስራት ሁሉንም ስውር ዘዴዎች በደንብ ማወቅ እና የቪዲዮ ትምህርቱን በማጠናቀቅ ምርጥ ልምዶችን መተግበር ይችላሉ ። "CI/CD በ Gitlab CI ምሳሌ". ተቀላቀለን!

ምንጭ: hab.com

አስተያየት ያክሉ