Mokhoa oa ho sebelisa HashiCorp Waypoint ho sebelisana le GitLab CI/CD

Mokhoa oa ho sebelisa HashiCorp Waypoint ho sebelisana le GitLab CI/CD

HashiCorp e bontšitse morero o mocha Tsela mabapi le HashiCorp Digital. E sebelisa faele e thehiloeng ho HCL ho hlalosa kaho, ho tsamaisa le ho lokolla lits'ebetso bakeng sa liforomo tse fapaneng tsa maru ho tloha ho Kubernetes ho ea ho AWS le Google Cloud Run. Nahana ka Waypoint joalo ka Terraform le Vagrant li kopantsoe ho hlalosa ts'ebetso ea ho aha, ho tsamaisa le ho lokolla likopo tsa hau.

Ha e le hantle, HashiCorp e lokolitse Waypoint e le mohloli o bulehileng, 'me e tla le mehlala e mengata. Boemo ba 'mino oa liletsa bo ho uena, Waypoint e tla e le ts'ebetso eo u ka e tsamaisang ka kotloloho ho laptop ea hau kapa ho sesebelisoa sa hau sa 'mino sa CI / CD seo u se khethang. Sepheo sa ho kenya kopo le sona se ho uena, kaha Waypoint e tšehetsa Kubernetes, Docker, Google Cloud Run, AWS ECS, le tse ling.

Ka mor'a ho bala tse makatsang litokomane le tse ntle ka ho fetisisa mehlala likopo tse fanoeng ke HashiCorp, re nkile qeto ea ho shebisisa 'mino oa Waypoint ka GitLab CI/CD. Ho etsa sena, re tla nka kopo e bonolo ea Node.js e sebetsang ho AWS ECS ho tloha polokelong ea sampole.

Kamora ho kopanya polokelo, ha re shebeng sebopeho sa ts'ebeliso e bonts'ang leqephe le le leng:

Mokhoa oa ho sebelisa HashiCorp Waypoint ho sebelisana le GitLab CI/CD

Joalokaha e kanna eaba u hlokometse, ha ho na Dockerfile morerong ona. Ha li eketsoe mohlaleng hobane ha re li hloke, hobane Waypoint e tla re hlokomela. Ha re shebeng faele ka botlalo waypoint.hclho utloisisa seo e tla se etsa:

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

Nakong ea mohato oa kaho, Waypoint e sebelisa Cloud Native Buildpacks (CNB) ho tseba puo ea lenaneo la morero le ho theha setšoantšo sa Docker ntle le ho sebelisa Dockerfile. Ha e le hantle, ena ke theknoloji e tšoanang e sebelisoang ke GitLab ka karolo Auto DevOps mohatong oa Auto Build. Hoa thabisa ho bona hore CNB ea CNCF e ntse e amoheloa le ho feta har'a basebelisi ba indasteri.

Hang ha setšoantšo se hahiloe, Waypoint e tla e kenya ka bo eona ho ngoliso ea rona ea AWS ECR e le hore e se e loketse ho romelloa. Qetellong ea kopano, mohato oa ho fana o sebelisa Keketso ea AWS ECS ho kenya kopo ea rona akhaonteng ea rona ea AWS.

Ho tsoa ho laptop ea ka ho bonolo. Ke kentse Waypoint e seng e netefalitsoe akhaonteng ea ka ea AWS mme e "sebetsa feela". Empa ho etsahalang haeba ke batla ho feta laptop ea ka? Kapa mohlomong ke batla ho tsamaisa phepelo ena e le karolo ea phaephe ea ka ea kakaretso ea CI/CD moo liteko tsa ka tsa kopanyo tsa hajoale, liteko tsa ts'ireletso le tse ling li sebetsang? Ena ke karolo ea pale moo GitLab CI/CD e kenang teng!

NB Haeba u ntse u rera ho kenya tšebetsong CI / CD kapa u batla ho qala ho sebelisa mekhoa e metle ea ho aha lipeipi, ela hloko thuto e ncha ea Slurm. "CI/CD ka mohlala oa Gitlab CI". E se e fumaneha ka theko ea ho reka esale pele.

Tsela ea ho kena GitLab CI/CD

Ho hlophisa tsena tsohle ho GitLab CI/CD, ha re boneng seo re se hlokang faeleng ea rona. .gitlab-ci.yml:

  • Pele ho tsohle, o hloka setšoantšo sa motheo ho matha ka hare ho sona. Waypoint e sebetsa ho phepelong efe kapa efe ea Linux, e hloka feela Docker, kahoo re ka matha ka setšoantšo sa generic Docker.
  • E latelang, o hloka ho kenya Waypoint setšoantšong sena. Nakong e tlang re ka bokella setšoantšo sa meta 'me u iketsetse ts'ebetso ena bakeng sa hau.
  • Qetellong re tla tsamaisa litaelo tsa Waypoint

Ka holimo ke ntho e 'ngoe le e' ngoe eo phala ea rona e tla e hloka ho tsamaisa mangolo a hlokahalang ho kenya letsoho, empa ho fetisetsa ho AWS, re hloka ntho e 'ngoe hape: re tlameha ho kena akhaonteng ea rona ea AWS. Ka tlhaloso ea Waypoint ba le merero mabapi le netefatso le tumello. HashiCorp e boetse e lokolotse morero o tsotehang bekeng ena Moeli. Empa hajoale, re ka nka le ho sebetsana le netefatso le tumello ka borona.

Ho na le likhetho tse 'maloa bakeng sa netefatso ea GitLab CICD ho AWS. Khetho ea pele ke ho sebelisa e hahelletsoeng HashiCorp Vault. Ho lokile haeba sehlopha sa hau se se se ntse se sebelisa Vault bakeng sa taolo ea mangolo. Mokhoa o mong o sebetsang haeba sehlopha sa hau se laola tumello se sebelisa AWS IAM ke ho lekola hore na mesebetsi ea phano e qala ka. GitLab RunnerE lumelletsoeng ho qala ho romelloa ka IAM. Empa haeba u batla feela ho tloaelana le Waypoint 'me u batla ho e etsa kapele, khetho ea ho qetela ke ho kenyelletsa AWS API ea hau le linotlolo tsa Lekunutu ho. Mefuta e fapaneng ea tikoloho ea GitLab CI/CD AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY.

Ho kopanya kaofela

Ha re se re fumane netefatso, re ka qala! Qetello ea rona .gitlab-ci.yml e shebahala tjena:

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

Ua bona re qala ka setšoantšo docker:latest le ho beha mefuta e fokolang ea tikoloho e hlokoang ke Waypoint. Khaolong script re khoasolla Waypoint ea morao-rao e ka sebetsoang ebe re e kenya /usr/local/bin. Kaha semathi sa rona se se se lumelletsoe ho AWS, joale re matha feela waypoint init, build, deploy и release.

Sephetho sa mosebetsi oa kaho se tla re bontša pheletso moo re kentseng kopo:

Mokhoa oa ho sebelisa HashiCorp Waypoint ho sebelisana le GitLab CI/CD

Waypoint ngoe ea litharollo tse ngata tsa HashiCorp, e sebetsang hantle le GitLab. Ka mohlala, ntle le ho fana ka kopo, re ka hlophisa lisebelisoa tsa motheo ka Terraform ho GitLab. Ho tiisa ts'ireletso ea SDLC, re ka boela ra kenya ts'ebetsong GitLab e nang le Vault bakeng sa ho laola liphiri le li-tokens ho liphaephe tsa CI / CD, ho fana ka tharollo e feletseng bakeng sa bahlahisi le batsamaisi ba itšetlehileng ka tsamaiso ea sekhukhu bakeng sa nts'etsopele, tlhahlobo le tšebeliso ea tlhahiso.

Litharollo tse kopaneng tse ntlafalitsoeng ke HashiCorp le GitLab li thusa lik'hamphani ho fumana tsela e molemohali ea ho nts'etsapele lits'ebetso ka ho netefatsa tsamaiso e tsitsitseng ea phepelo le tsamaiso ea litšebeletso. Waypoint e nkile mohato o mong ka tsela e nepahetseng mme re lebelletse ntlafatso e tsoelang pele ea morero. U ka ithuta ho eketsehileng ka Waypoint monahape ke habohlokoa ho hlahloba litokomane и moralo oa ntlafatso morero. Re ekelitse tsebo ea rona ho Litokomane tsa GitLab CICD. Haeba u batla ho e leka, u ka sheba mohlala o felletseng oa ts'ebetso ho polokelong ena.

U ka utloisisa melao-motheo ea CI / CD, ua tseba lintho tsohle tse poteletseng tsa ho sebetsa le Gitlab CI 'me u qale ho sebelisa mekhoa e metle ka ho qeta thupelo ea video. "CI/CD ka mohlala oa Gitlab CI". Kena hona joale!

Source: www.habr.com

Eketsa ka tlhaloso