Otu esi eji HashiCorp Waypoint imekọ ihe na GitLab CI/CD

Otu esi eji HashiCorp Waypoint imekọ ihe na GitLab CI/CD

HashiCorp gosipụtara ọrụ ọhụrụ Ụzọ ụzọ on Ụlọ ọrụ HashiCorp Digital. Ọ na-eji faịlụ dabere na HCL iji kọwaa ụlọ, mbupu, na mwepụta ngwa maka nyiwe igwe ojii dị iche iche sitere na Kubernetes ruo AWS na Google Cloud Run. Chee echiche nke Waypoint ka Terraform na Vagrant jikọtara ọnụ iji kọwaa usoro iwulite, mbupu na iwepụta ngwa gị.

N'ezie na-etolite, HashiCorp ewepụtala Waypoint ka ọ bụrụ ebe mepere emepe, ọ na-abịa n'ọtụtụ ihe atụ. Ọkwa nke onye na-agụ egwú dịịrị gị, Waypoint na-abịa dị ka ihe arụrụ arụ nke ị nwere ike ịgba ọsọ ozugbo na laptọọpụ gị ma ọ bụ site na ngwa orchestration CI / CD nke nhọrọ gị. Ebumnuche mbugharị ngwa ahụ dịkwa gị n'aka, dịka Waypoint na-akwado Kubernetes, Docker, Google Cloud Run, AWS ECS, na ndị ọzọ.

Mgbe agụchara egwu akwụkwọ na kacha mma ihe atụ Ngwa nke HashiCorp nyere, anyị kpebiri ileru anya nke ọma na usoro egwu Waypoint na GitLab CI/CD. Iji mee nke a, anyị ga-ewere ngwa Node.js dị mfe na-agba ọsọ na AWS ECS site na ebe nchekwa ihe nlele.

Mgbe emechara ebe nchekwa ahụ, ka anyị leba anya na nhazi nke ngwa na-egosipụta otu ibe:

Otu esi eji HashiCorp Waypoint imekọ ihe na GitLab CI/CD

Dịka ị chọpụtala, enweghị Dockerfile na ọrụ a. A naghị atụkwasị ha na ihe atụ n'ihi na anyị achọghị ha n'ezie, n'ihi na Waypoint ga-elekọta anyị. Ka anyị lebakwuo anya na faịlụ ahụ waypoint.hclịghọta ihe ọ ga-eme:

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

N'oge a na-ewu ụlọ, Waypoint na-eji Cloud Native Buildpacks (NBC) iji chọpụta asụsụ mmemme nke ọrụ ahụ wee mepụta onyonyo Docker na-ejighi Dockerfile. Na ụkpụrụ, nke a bụ otu teknụzụ nke GitLab na-eji n'akụkụ ụfọdụ Auto DevOps n'usoro wuo akpaaka. Ọ dị mma ịhụ na CNCF's CNB na-enwetawanye nnabata n'etiti ndị ọrụ ụlọ ọrụ.

Ozugbo emechara onyonyo a, Waypoint ga-ebugo ya ozugbo na ndekọ AWS ECR anyị ka ọ dị njikere ibupu. Na njedebe nke mgbakọ ahụ, nzọụkwụ nnyefe na-eji Ihe mgbakwunye AWS ECS iji tinye ngwa anyị na akaụntụ AWS anyị.

Site na laptọọpụ m ọ dị mfe. Etinyere m Waypoint nke enwetagoro na akaụntụ AWS m ma ọ “na-arụ ọrụ naanị”. Mana gịnị ga - eme ma ọ bụrụ na achọrọ m ịgafe laptọọpụ m? Ma ọ bụ ma eleghị anya, achọrọ m ịmegharị nnyefe a dị ka akụkụ nke pipeline CI / CD m n'ozuzu ebe ule ntinye m ugbu a, ule nchekwa, na ndị ọzọ na-agba ọsọ? Nke a bụ akụkụ nke akụkọ ebe GitLab CI/CD batara!

NB Ọ bụrụ na ị na-eme atụmatụ imejuputa CI / CD ma ọ bụ chọọ ịmalite itinye usoro kachasị mma maka iwulite pipeline, ṅaa ntị na usoro Slurm ọhụrụ. "CI/CD na ihe atụ nke Gitlab CI". Ọ dị ugbu a maka ọnụahịa tupu ịtụ ahịa.

Ụzọ ụzọ na GitLab CI/CD

Iji hazie ihe a niile na GitLab CI/CD, ka anyị hụ ihe anyị chọrọ na faịlụ anyị .gitlab-ci.yml:

  • Nke mbụ, ị ga-achọ ihe oyiyi ntọala iji na-agba ọsọ n'ime ya. Waypoint na-agba ọsọ na nkesa Linux ọ bụla, ọ chọrọ naanị Docker, yabụ anyị nwere ike iji onyonyo Docker na-agba ọsọ.
  • Ọzọ, ịkwesịrị itinye Waypoint n'ime onyonyo a. N'ọdịnihu anyị nwere ike ịnakọta meta wuo onyonyo ma tinye usoro a n'onwe gị.
  • N'ikpeazụ, anyị ga-agba ọsọ iwu Waypoint

N'elu bụ ihe niile pipeline anyị ga-achọ iji mee ihe ederede dị mkpa iji rụọ ọrụ ahụ, mana iji tinye na AWS, anyị chọrọ otu ihe ọzọ: anyị ga-abanye na akaụntụ AWS anyị. Na nkọwa Waypoint nwee atụmatụ gbasara nyocha na ikike. HashiCorp weputara ọmarịcha oru ngo n'izu a Nsogbu. Mana maka ugbu a, anyị nwere ike were ma jikwaa nyocha na ikike n'onwe anyị.

Enwere ọtụtụ nhọrọ maka nyocha GitLab CICD na AWS. Nhọrọ nke mbụ bụ iji ihe arụnyere n'ime ya XaashiCorp Vault. Ọ dị mma ma ọ bụrụ na ndị otu gị ejirila Vault maka njikwa nzere. Ụzọ ọzọ na-arụ ọrụ ma ọ bụrụ na ndị otu gị jikwaa ikike site na iji AWS IAM bụ ịlele na a na-ebute ọrụ nnyefe site na GitLab RunnerA nke enyere ikike ịmalite ibunye ya site na IAM. Mana ọ bụrụ na ịchọrọ ịmara Waypoint ma chọọ ime ya ngwa ngwa, nhọrọ ikpeazụ bụ ịgbakwunye AWS API na igodo nzuzo gị. GitLab CI/CD mgbanwe gburugburu ebe obibi AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY.

Na-etinye ya niile ọnụ

Ozugbo anyị chọpụtara nyocha ahụ, anyị nwere ike ịmalite! Ikpeazụ anyị .gitlab-ci.yml yiri nke a:

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

Ị na-ahụ na anyị na-amalite na oyiyi docker:latest ma tọọ mgbanwe gburugburu ebe obibi ole na ole nke Waypoint chọrọ. N'isiakwụkwọ script anyị na-ebudata Waypoint executable kachasị ọhụrụ wee tinye ya /usr/local/bin. Ebe ọ bụ na enyere onye na-agba ọsọ anyị ikike na AWS, mgbe ahụ anyị na-agba ọsọ waypoint init, build, deploy и release.

Nsonaazụ nke ọrụ nrụpụta ga-egosi anyị njedebe ebe anyị tụgharịrị ngwa ahụ:

Otu esi eji HashiCorp Waypoint imekọ ihe na GitLab CI/CD

Ụzọ ụzọ otu n'ime Ọtụtụ ngwọta HashiCorp, nke na-arụ ọrụ dị ukwuu na GitLab. Dịka ọmụmaatụ, na mgbakwunye na ịnyefe ngwa ahụ, anyị nwere ike iji ihe eji eme ihe eji eme ihe Terraform na GitLab. Iji hazie nchekwa SDLC, anyị nwekwara ike mejuputa GitLab nwere Vault maka ijikwa ihe nzuzo na tokens na pipeline CI / CD, na-enye ngwọta zuru oke maka ndị mmepe na ndị nchịkwa na-adabere na njikwa nzuzo maka mmepe, nyocha, na iji mmepụta ihe.

Ngwọta njikọta nke HashiCorp na GitLab mepụtara na-enyere ụlọ ọrụ aka ịchọta ụzọ kachasị mma iji mepụta ngwa site na ịgba mbọ hụ na usoro ọkọnọ na njikwa akụrụngwa na-agbanwe agbanwe. Waypoint ewerela nzọụkwụ ọzọ n'ụzọ ziri ezi ma anyị na-atụ anya n'ihu mmepe nke ọrụ ahụ. Ị nwere ike ịmụtakwu gbasara Waypoint ebe adịkwa mma inyocha akwụkwọ и atụmatụ mmepe oru ngo. Anyị atụkwasịla ihe ọmụma anyị Akwụkwọ GitLab CICD. Ọ bụrụ na ịchọrọ ịnwale ya n'onwe gị, ị nwere ike lelee ihe atụ ọrụ zuru oke na ebe nchekwa a.

Ị nwere ike ịghọta ụkpụrụ nke CI / CD, mara ụzọ aghụghọ niile nke ịrụ ọrụ na Gitlab CI wee malite itinye usoro kachasị mma site na ịmecha usoro vidiyo. "CI/CD na ihe atụ nke Gitlab CI". Soro ugbu a!

isi: www.habr.com

Tinye a comment