Yadda ake amfani da HashiCorp Waypoint don Haɗin gwiwa tare da GitLab CI/CD

Yadda ake amfani da HashiCorp Waypoint don Haɗin gwiwa tare da GitLab CI/CD

HashiCorp ya nuna sabon aikin Hanyar hanya a kan HashiCorp Digital. Yana amfani da fayil na tushen HCL don bayyana ginin, bayarwa, da saki aikace-aikace don nau'ikan dandamali na girgije, kama daga Kubernetes zuwa AWS zuwa Google Cloud Run. Kuna iya tunanin Waypoint kamar yadda Terraform da Vagrant suka haɗu don bayyana tsarin gini, jigilar kaya, da fitar da aikace-aikacenku.

Gaskiya don samarwa, HashiCorp ya fito da Waypoint azaman buɗaɗɗen tushe kuma ya zo da misalai da yawa. Layin mawaƙa ya rage naku, Waypoint yana zuwa azaman aiwatarwa wanda zaku iya aiki kai tsaye akan kwamfutar tafi-da-gidanka ko daga kayan aikin ƙungiyar CI/CD ɗinku na zaɓi. Makasudin ƙaddamar da aikace-aikacenku shima ya rage naku, kamar yadda Waypoint ke tallafawa Kubernetes, Docker, Google Cloud Run, AWS ECS, da ƙari.

Bayan karatun ban mamaki takardun shaida kuma mafi tsada misalai aikace-aikacen da HashiCorp ya bayar, mun yanke shawarar yin nazari sosai kan ƙungiyar kiɗan Waypoint ta amfani da GitLab CI/CD. Don yin wannan, za mu ɗauki aikace-aikacen Node.js mai sauƙi wanda ke gudana akan AWS ECS daga ma'ajin misalan.

Bayan rufe ma'ajiyar, bari mu dubi tsarin aikace-aikacen da ke nuna shafi ɗaya:

Yadda ake amfani da HashiCorp Waypoint don Haɗin gwiwa tare da GitLab CI/CD

Kamar yadda wataƙila kun lura, wannan aikin bashi da Dockerfile. Ba a ƙara su a cikin misali ba, saboda a ka'ida ba ma buƙatar su, saboda Waypoint zai kula da su a gare mu. Bari mu kalli fayil ɗin a hankali waypoint.hcldon fahimtar abin da zai faru:

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

Yayin lokacin ginin, Waypoint yana amfani da Cloud Native Buildpacks (CNB) don ƙayyade harshen shirye-shiryen aikin da ƙirƙirar hoton Docker ba tare da amfani da Dockerfile ba. A ka'ida, wannan ita ce fasahar da GitLab ke amfani da shi a wani bangare Auto DevOps a mataki na Gina Auto. Yana da kyau a ga cewa CNCF's CNB yana samun ƙarin karɓuwa tsakanin masu amfani da masana'antu.

Da zarar an gina hoton, Waypoint zai loda shi ta atomatik zuwa rijistar AWS ECR ɗin mu don haka yana shirye don bayarwa. Da zarar an gama ginin, matakin isarwa yana amfani AWS ECS add-on don tura aikace-aikacen mu zuwa asusun AWS.

Daga kwamfutar tafi-da-gidanka - komai mai sauƙi ne. Na sanya Waypoint wanda aka riga an inganta shi cikin asusun AWS na kuma yana "kawai yana aiki". Amma me zai faru idan ina so in wuce kwamfutar tafi-da-gidanka? Ko ba zato ba tsammani na so in sarrafa wannan turawa a matsayin wani ɓangare na bututun CI/CD na gabaɗaya, inda ake gudanar da gwaje-gwajen haɗin kai na, gwajin tsaro, da sauransu? Wannan shine ɓangaren labarin inda GitLab CI/CD ya shigo!

NB Idan kawai kuna shirin aiwatar da CI/CD ko kuna son fara amfani da mafi kyawun ayyuka don gina bututun, kula da sabon karatun Slurm. "CI / CD ta amfani da Gitlab CI a matsayin misali". Yanzu yana samuwa akan farashin da aka riga aka yi oda.

Hanya a GitLab CI/CD

Don tsara wannan duka a GitLab CI/CD, bari mu kalli abin da muke buƙata a cikin fayil ɗin mu .gitlab-ci.yml:

  • Da farko, kuna buƙatar hoton tushe don gudu a ciki. Waypoint yana aiki akan kowane rarraba Linux, yana buƙatar Docker kawai, don haka zamu iya gudana tare da cikakken hoto Docker.
  • Na gaba kuna buƙatar shigar da Waypoint a wannan hoton. A nan gaba za mu iya tattarawa hoto meta ginawa kuma ka tanadi wannan tsari da kanka.
  • A ƙarshe za mu gudanar da umarnin Waypoint

Abubuwan da ke sama suna bayyana duk abin da bututunmu zai buƙaci don gudanar da rubutun da ake buƙata don kammala aikin, amma don turawa zuwa AWS za mu buƙaci ƙarin abu ɗaya: dole ne a shiga cikin asusun mu na AWS. A cikin bayanin Waypoint akwai tsare-tsare game da tabbaci da izini. HashiCorp kuma ya fitar da wani aiki mai ban sha'awa a wannan makon Boundary. Amma a yanzu, za mu iya kawai rike da tabbaci da ba da izini kan kanmu.

Akwai zaɓuɓɓuka da yawa don ingantaccen GitLab CICD a cikin AWS. Zaɓin farko shine amfani da ginanniyar XaashiCorp Vault. Wannan yana da kyau idan ƙungiyar ku ta riga ta yi amfani da Vault don gudanar da takaddun shaida. Wani zaɓi wanda ke aiki idan ƙungiyar ku tana sarrafa izini ta amfani da AWS IAM shine duba cewa ayyukan isarwa suna haifar da su ta hanyar. GitLab Runner, an ba da izini don gudanar da aikin ta hanyar IAM. Amma idan kawai kuna son sanin Waypoint kuma kuna son yin shi cikin sauri, akwai zaɓi na ƙarshe guda ɗaya - ƙara AWS API da maɓallin Sirrin ku zuwa GitLab CI/CD masu canjin yanayi AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY.

Saka shi duka tare

Da zarar mun fahimci tabbaci, za mu iya farawa! Karshen mu .gitlab-ci.yml ya yi kama da wannan:

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

Kun ga mun fara da hoto docker:latest kuma saita canjin yanayi da yawa da Waypoint ke buƙata. A cikin babi script muna zazzage sabon sigar aikin Waypoint kuma mu shigar dashi /usr/local/bin. Tun da an riga an ba mai tserenmu izini a cikin AWS, na gaba kawai muna gudu waypoint init, build, deploy и release.

Fitowar aikin ginin zai nuna mana ƙarshen ƙarshen inda muka fitar da aikace-aikacen:

Yadda ake amfani da HashiCorp Waypoint don Haɗin gwiwa tare da GitLab CI/CD

Waypoint daya daga Yawancin HashiCorp Solutions, Yi aiki mai kyau tare da GitLab. Misali, ban da isar da aikace-aikacen, za mu iya tsara abubuwan more rayuwa ta amfani da su Terraform akan GitLab. Don daidaita tsaro SDLC, za mu iya aiwatarwa GitLab tare da Vault don sarrafa asirin da alamu a cikin bututun CI / CD, samar da cikakkiyar bayani ga masu haɓakawa da masu gudanarwa waɗanda suka dogara da sarrafa asirin don haɓakawa, gwaji, da amfani da samarwa.

Hanyoyin haɗin gwiwa da HashiCorp da GitLab suka haɓaka suna taimaka wa kamfanoni samun ingantacciyar hanya don haɓaka aikace-aikace ta hanyar samar da daidaiton sarrafa bututun isar da kayan more rayuwa. Waypoint ya ɗauki wani mataki a kan hanyar da ta dace kuma muna sa ran ci gaba da ci gaban aikin. Kuna iya samun ƙarin bayani game da Waypoint a nan, kuma ya cancanci bincike takardun shaida и shirin ci gaba aikin. Mun kara ilimin da muka samu Takardun GitLab CICD. Idan kuna son gwada komai da kanku, zaku iya ɗaukar cikakken misali mai aiki a ciki wannan ma'ajiyar.

Kuna iya fahimtar ka'idodin CI / CD, ƙware duk ɓarna na aiki tare da Gitlab CI kuma fara amfani da mafi kyawun ayyuka ta hanyar ɗaukar karatun bidiyo. "CI / CD ta amfani da Gitlab CI a matsayin misali". Shiga mu!

source: www.habr.com

Add a comment