Fa'afefea ona fa'aoga HashiCorp Waypoint e Galulue fa'atasi ma GitLab CI/CD

Fa'afefea ona fa'aoga HashiCorp Waypoint e Galulue fa'atasi ma GitLab CI/CD

Na fa'aalia e HashiCorp se galuega fou Manatu i HashiCorp Digital. E fa'aogaina se faila fa'avae HCL e fa'amatala ai le fausiaina, felauaiga, ma le tu'uina atu o talosaga mo fa'aputuga ao eseese e amata mai i le Kubernetes i le AWS ma le Google Cloud Run. Mafaufau i le Waypoint e pei o Terraform ma Vagrant o loʻo tuʻufaʻatasia e faʻamatala ai le faagasologa o le fausiaina, felauaiga, ma le tuʻuina atu o au talosaga.

Faʻamaoni i le faʻatulagaina, ua faʻasalalau e HashiCorp Waypoint e avea ma punaoa tatala, ma e sau ma le tele o faʻataʻitaʻiga. O le maualuga o le faʻaupuga e oʻo ia te oe, Waypoint e sau o se faʻaoga e mafai ona e tamoʻe saʻo i luga o lau komepiuta poʻo mai lau meafaigaluega faʻapipiʻi CI/CD o le filifiliga. O le faʻatonuga o le faʻatulagaina o talosaga e oʻo atu ia te oe, aua e lagolagoina e Waypoint Kubernetes, Docker, Google Cloud Run, AWS ECS, ma isi mea.

Ina ua uma ona faitau le ofoofogia fa'amaumauga ma sili ona manaia faataitaiga talosaga na saunia e HashiCorp, na matou filifili e vaʻavaʻai totoʻa i le faʻasologa o Waypoint ma GitLab CI/CD. Ina ia faia lenei mea, o le a matou faia se talosaga Node.js faigofie o loʻo faʻaogaina i luga o le AWS ECS mai le fale faʻataʻitaʻiga.

A maeʻa ona faʻapipiʻi le fale teu oloa, seʻi o tatou tilotilo i le fausaga o le talosaga e faʻaalia ai le itulau e tasi:

Fa'afefea ona fa'aoga HashiCorp Waypoint e Galulue fa'atasi ma GitLab CI/CD

E pei ona e matauina, e leai se Dockerfile i lenei poloketi. E le faʻaopoopoina i latou i le faʻataʻitaʻiga aua tatou te le manaʻomia tele, aua o le Waypoint o le a tausia i latou mo i tatou. Sei o tatou tilotilo totoa i le faila waypoint.hclia malamalama i le mea o le a faia:

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

I le taimi o le fausiaina, o le Waypoint e faʻaaogaina Cloud Native Buildpacks (CNB) e fuafua le gagana polokalame a le poloketi ma fatuina se ata Docker e aunoa ma le faʻaaogaina o se Dockerfile. I le mataupu faavae, o le tekinolosi lava lea e tasi e faʻaaogaina e GitLab i se vaega Auto DevOps i le Laasaga Fausia Taavale. E manaia tele le va'ai o le CNCF's CNB o lo'o fa'ateleina le vaetamaina i tagata fa'aoga pisinisi.

O le taimi lava e fausia ai le ata, Waypoint o le a otometi lava ona tuʻuina i le matou AWS ECR resitala ina ia sauni e lafo. I le faaiuga o le faʻapotopotoga, o le faʻaogaina o le laasaga e faʻaaogaina AWS ECS fa'aopoopo e fa'apipi'i le matou talosaga i la matou fa'amatalaga AWS.

Mai la'u komepiuta feaveai e faigofie. Na ou tuʻuina i le Waypoint lea ua uma ona faʻamaonia i laʻu tala AWS ma e "naʻo le galue". Ae o le a le mea e tupu pe a ou manaʻo e alu i tua atu o laʻu komepiuta feaveaʻi? Pe atonu ou te manaʻo e otometi lenei faʻapipiʻiina e avea o se vaega o laʻu laina atoa CI / CD lea e faʻatautaia ai aʻu suʻega tuʻufaʻatasia o loʻo iai nei, suʻega saogalemu, ma isi? O le vaega lea o le tala lea e sau ai GitLab CI/CD!

NB Afai o loʻo e fuafua e faʻatino CI / CD pe manaʻo e amata faʻaogaina faiga sili ona lelei mo le fausiaina o paipa, faʻalogo i le Slurm fou. "CI / CD i luga o le faʻataʻitaʻiga a Gitlab CI". Ua avanoa nei mo le tau oka muamua.

Waypoint ile GitLab CI/CD

Ina ia faʻatulagaina mea uma i le GitLab CI / CD, seʻi o tatou vaʻai mea tatou te manaʻomia i la tatou faila .gitlab-ci.yml:

  • Muamua, e te manaʻomia se ata faʻavae e tamoe i totonu. Waypoint e alu i luga o soʻo se tufatufaga Linux, e naʻo le Docker e manaʻomia, o lea e mafai ai ona matou tamomoe ma se ata Docker lautele.
  • Le isi, e tatau ona e faʻapipiʻi Waypoint i totonu o lenei ata. I le lumanaʻi e mafai ona matou aoina ata fausia meta ma fa'aputuina lenei faiga mo oe lava.
  • Mulimuli ane o le a matou faʻatautaia le Waypoint commands

I luga o mea uma e manaʻomia e le matou paipa e faʻatautaia ai tusitusiga e manaʻomia e faʻatino ai le faʻapipiʻiina, ae ia faʻapipiʻi i le AWS, matou te manaʻomia se isi mea: e tatau ona matou ulufale i totonu o la matou AWS account. I le faʻamatalaga Waypoint fai fuafuaga e uiga i le faʻamaonia ma le faʻatagaina. Na tatalaina foi e HashiCorp se galuega mataʻina i lenei vaiaso Faʻasalaga. Ae mo le taimi nei, e mafai ona tatou ave ma taulimaina le faʻamaoni ma le faʻatagaina i tatou lava.

E tele filifiliga mo GitLab CICD faʻamaonia ile AWS. O le filifiliga muamua o le faʻaaogaina o le faʻapipiʻiina HashiCorp Vaʻa. E lelei pe afai o lo'o fa'aogaina e lau 'au le Vault mo le pulega fa'amaonia. O le isi metotia e aoga pe afai e pulea e lau 'au le faʻatagaina e faʻaaoga ai le AWS IAM o le siakiina o galuega faʻafeiloaʻi e faʻaosoina e ala i GitLab RunnerA ua fa'atagaina e amata le fa'agaioiga e ala ile IAM. Ae afai e te manaʻo e faamasani i le Waypoint ma e te manaʻo e fai vave, o le filifiliga mulimuli o le faʻaopoopoina lea o lau AWS API ma mea faalilolilo i GitLab CI/CD siosiomaga fesuiaiga AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY.

Tuu faatasi uma

O le taimi lava matou te iloa ai le faʻamaoni, e mafai ona matou amata! O la tatou faaiuga .gitlab-ci.yml foliga faapenei:

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

E te va'ai tatou amata i se ata docker:latest ma seti ni nai fesuiaiga o le siosiomaga e manaʻomia e Waypoint. I le mataupu script matou te sii maia le auala fou e mafai ona faʻaaogaina ma tuʻu i totonu /usr/local/bin. Talu ai ua uma ona faʻatagaina le matou tagata tamoʻe i le AWS, ona matou tamomoe lea waypoint init, build, deploy и release.

O le gaioiga o le galuega faufale o le a faʻaalia mai ia i matou le pito i tua na matou faʻaogaina ai le talosaga:

Fa'afefea ona fa'aoga HashiCorp Waypoint e Galulue fa'atasi ma GitLab CI/CD

Waypoint tasi o tele HashiCorp fofo, lea e aoga tele ma GitLab. Mo se faʻataʻitaʻiga, i le faʻaopoopoga i le tuʻuina atu o le talosaga, e mafai ona matou faʻapipiʻiina le atinaʻe autu ma Terraform i GitLab. Ina ia faʻamaonia le saogalemu SDLC, e mafai foi ona matou faʻatinoina GitLab ma Vault mo le puleaina o mealilo ma faʻailoga i paipa CI / CD, tuʻuina atu se fofo atoatoa mo tagata atiae ma pule o loʻo faʻalagolago i pulega faalilolilo mo le atinaʻeina, suʻega, ma le faʻaogaina o le gaosiga.

O fofo tu'ufa'atasi na atia'e e HashiCorp ma GitLab e fesoasoani i kamupani e su'e le auala sili e atia'e ai tusi talosaga e ala i le fa'amautinoaina o feso'ota'iga sapalai ma le fa'atonutonuina o aseta. O le Waypoint ua faia se isi laasaga i le itu saʻo ma matou te tulimatai atu i le faʻalauteleina o le poloketi. E mafai ona e aoao atili e uiga i Waypoint iineie aoga foi le su'esu'eina fa'amaumauga и fuafuaga tau atinae galuega faatino. Ua matou faaopoopo atu lo matou malamalama i GitLab CICD fa'amaumauga. Afai e te manaʻo e faʻataʻitaʻi oe lava, e mafai ona e siaki le faʻataʻitaʻiga galue atoatoa i lenei faleoloa.

E mafai ona e malamalama i mataupu faavae o le CI / CD, faʻataʻitaʻi uma mea faʻapitoa o le galue ma Gitlab CI ma amata faʻaaoga faiga sili ona lelei e ala i le faʻamaeʻaina o le ata vitio. "CI / CD i luga o le faʻataʻitaʻiga a Gitlab CI". Auai nei!

puna: www.habr.com

Faaopoopo i ai se faamatalaga