Ahoana ny fampiasana HashiCorp Waypoint hiara-hiasa amin'ny GitLab CI/CD

Ahoana ny fampiasana HashiCorp Waypoint hiara-hiasa amin'ny GitLab CI/CD

HashiCorp dia nampiseho tetikasa vaovao Fomba fijery amin'ny HashiCorp Digital. Mampiasa rakitra mifototra amin'ny HCL izy io mba hamaritana ny fananganana, fandefasana ary famoahana ireo rindranasa ho an'ny sehatra rahona isan-karazany, manomboka amin'ny Kubernetes ka hatramin'ny AWS ka hatrany amin'ny Google Cloud Run. Azonao atao ny mieritreritra ny Waypoint ho Terraform sy Vagrant mitambatra mba hamaritana ny fizotran'ny fananganana, fandefasana ary famoahana ny fangatahanao.

Marina ny endrika, HashiCorp dia namoaka Waypoint ho loharano misokatra ary misy ohatra maro. Ny sosona orkestra dia miankina aminao, ny Waypoint dia tonga amin'ny fomba azo tanterahana izay azonao atao mivantana amin'ny solosainao na avy amin'ny fitaovan'ny orkestra CI/CD nofidinao. Ny tanjona amin'ny fametrahana ny rindranasao dia miankina aminao ihany koa, satria ny Waypoint dia manohana ny Kubernetes, Docker, Google Cloud Run, AWS ECS, sy ny maro hafa.

Rehefa avy namaky ilay mahafinaritra tahirin-kevitra ary ny raitra indrindra ohatra fampiharana nomen'ny HashiCorp, nanapa-kevitra izahay ny hijery akaiky kokoa ny orkestra Waypoint amin'ny fampiasana GitLab CI/CD. Mba hanaovana izany dia haka fampiharana Node.js tsotra mandeha amin'ny AWS ECS isika avy amin'ny tahiry ohatra.

Aorian'ny fametahana ny tahiry, andeha hojerentsika ny firafitry ny fampiharana mampiseho pejy iray:

Ahoana ny fampiasana HashiCorp Waypoint hiara-hiasa amin'ny GitLab CI/CD

Araka ny efa tsikaritrareo dia tsy manana Dockerfile ity tetikasa ity. Tsy ampiana amin'ny ohatra izy ireo, satria amin'ny ankapobeny dia tsy mila azy ireo isika, satria ny Waypoint dia hikarakara azy ireo ho antsika. Andeha hojerentsika akaiky ny rakitra waypoint.hclmba hahatakarana izay hataony:

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

Mandritra ny dingana fananganana, Waypoint dia mampiasa Cloud Native Buildpacks (CNB) mba hamaritana ny fiteny fandaharana amin'ny tetikasa ary hamorona sary Docker tsy mampiasa Dockerfile. Amin'ny ankapobeny, io ihany no teknolojia ampiasain'ny GitLab amin'ny ampahany Auto DevOps amin'ny dingana Auto Build. Tsara ny mahita fa ny CNB an'ny CNCF dia mahazo fananganan'anaka bebe kokoa eo amin'ny mpampiasa indostrialy.

Rehefa vita ny sary, Waypoint dia hampiditra azy ho azy ao amin'ny rejisitra AWS ECR mba ho vonona amin'ny fandefasana azy. Rehefa vita ny fananganana dia ampiasaina ny dingana fanaterana AWS ECS fanampiny hametraka ny fampiharana amin'ny kaonty AWS.

Avy amin'ny solosaina findaiko - tsotra ny zava-drehetra. Nametraka Waypoint izay efa voamarina ao amin'ny kaontiko AWS aho ary "miasa fotsiny". Fa inona no mitranga raha te hihoatra ny solosaina findaiko aho? Sa te-hanao automatique an'ity fametrahana ity aho ho ampahany amin'ny fantsona CI/CD manontolo, izay anaovana ny andrana fampidirana, ny fitsapana fiarovana ary ny hafa? Ity no ampahany amin'ny tantara nidiran'ny GitLab CI/CD!

NB Raha mikasa ny hampihatra CI/CD fotsiny ianao na te hanomboka hampihatra fomba fanao tsara indrindra amin'ny fananganana fantsona dia tandremo ny fampianarana vaovao an'ny Slurm. "CI/CD mampiasa Gitlab CI ho ohatra". Efa azo alaina amin'ny vidiny mialoha izany.

Waypoint ao amin'ny GitLab CI/CD

Mba handrindrana izany rehetra izany ao amin'ny GitLab CI/CD, andeha hojerentsika izay ilaintsika ao amin'ny rakitra .gitlab-ci.yml:

  • Voalohany indrindra, mila sary fototra ianao hihazakazaka ao anatiny. Ny Waypoint dia miasa amin'ny fizarana Linux rehetra, Docker ihany no ilaina, mba hahafahantsika mihazakazaka miaraka amin'ny sary Docker generic.
  • Avy eo dia mila mametraka Waypoint amin'ity sary ity ianao. Amin'ny ho avy dia mety hanangona isika sary meta fananganana ary ataovy ao anaty container ho anao ity dingana ity.
  • Farany dia hanatanteraka ny baiko Waypoint isika

Ity ambony ity dia mamaritra ny zava-drehetra ilain'ny pipeline amin'ny fampandehanana ny script ilaina hamitana ny fametrahana, fa ny fametrahana amin'ny AWS dia mila zavatra iray hafa isika: tsy maintsy miditra ao amin'ny kaonty AWS. Ao amin'ny famaritana Waypoint misy drafitra momba ny fanamarinana sy ny fanomezan-dΓ lana. Namoaka tetikasa mahavariana ihany koa i HashiCorp tamin'ity herinandro ity sisin-tany. Fa amin'izao fotoana izao, ny tenantsika ihany no afaka mitantana ny fanamarinana sy ny fanomezan-dΓ lana.

Misy safidy maromaro momba ny fanamarinana GitLab CICD ao amin'ny AWS. Ny safidy voalohany dia ny fampiasana ny naorina-in HashiCorp Vault. Tsara izany raha efa mampiasa Vault ny ekipanao amin'ny fitantanana ny fahazoan-dΓ lana. Safidy iray hafa miasa raha mitantana ny fanomezan-dΓ lana amin'ny AWS IAM ny ekipanao dia ny manamarina fa ny asa fanaterana dia ateraky ny GitLab Runner, nahazo alalana hanao ny fametrahana amin'ny alalan'ny IAM. Fa raha te-hahafantatra fotsiny ny Waypoint ianao ary te hanao izany haingana, dia misy safidy farany - ampio ny AWS API sy ny fanalahidy Secret anao GitLab CI/CD environment variables AWS_ACCESS_KEY_ID ΠΈ AWS_SECRET_ACCESS_KEY.

Asio izany miaraka

Rehefa azontsika ny fanamarinana dia afaka manomboka isika! Ny farany .gitlab-ci.yml toy izao ity:

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

Hitanao fa manomboka amin'ny sary isika docker:latest ary mametraha fari-piainana maro takian'ny Waypoint. Ao amin'ny toko script maka ny kinova farany an'ny Waypoint azo tanterahana izahay ary apetraka ao /usr/local/bin. Satria efa nahazo alalana amin'ny AWS ny mpihazakazaka anay, dia mihazakazaka fotsiny izahay waypoint init, build, deploy ΠΈ release.

Ny vokatra amin'ny asa fananganana dia hampiseho amintsika ny teboka farany izay namoahanay ny fampiharana:

Ahoana ny fampiasana HashiCorp Waypoint hiara-hiasa amin'ny GitLab CI/CD

Waypoint iray amin'ny vahaolana HashiCorp maro, miasa tsara amin'ny GitLab. Ohatra, ho fanampin'ny fanaterana ny fampiharana, azontsika atao ny mandrindra ny fotodrafitrasa fototra amin'ny fampiasana Terraform amin'ny GitLab. Mba hanamafisana ny fiarovana SDLC dia azo atao ihany koa ny mampihatra GitLab miaraka amin'ny Vault ho an'ny fitantanana tsiambaratelo sy famantarana ao amin'ny CI/CD pipelines, manome vahaolana holistic ho an'ny mpamorona sy ny mpitantana izay miantehitra amin'ny fitantanana tsiambaratelo ho an'ny fampandrosoana, fitsapana ary fampiasana ny famokarana.

Ny vahaolana iraisana novolavolain'ny HashiCorp sy GitLab dia manampy ny orinasa hahita fomba tsara kokoa amin'ny fampivoarana ny fampiharana amin'ny alΓ lan'ny fanomezana fitantanana tsy tapaka ny fantsona fanaterana sy ny fotodrafitrasa. Nandray dingana hafa tamin'ny lalana marina ny Waypoint ary manantena ny fitohizan'ny fampandrosoana ny tetikasa izahay. Afaka mahita bebe kokoa momba ny Waypoint ianao eto, mendrika hojerena ihany koa tahirin-kevitra ΠΈ drafitra fampandrosoana tetikasa. Nampiana ny fahalalana azonay izahay GitLab CICD documentation. Raha te hanandrana ny zava-drehetra ianao dia azonao atao ny maka ohatra feno amin'ny asa ity repository ity.

Azonao atao ny mahatakatra ny fitsipiky ny CI / CD, mahafehy ny pitsopitsony rehetra amin'ny fiaraha-miasa amin'ny Gitlab CI ary manomboka mampihatra ny fomba fanao tsara indrindra amin'ny alΓ lan'ny fanaovana video. "CI/CD mampiasa Gitlab CI ho ohatra". Avia ho namanay!

Source: www.habr.com

Add a comment