Hvernig á að nota HashiCorp Waypoint til að vinna með GitLab CI/CD

Hvernig á að nota HashiCorp Waypoint til að vinna með GitLab CI/CD

HashiCorp sýndi nýtt verkefni Leiðarpunktur á HashiCorp Digital. Það notar HCL-undirstaða skrá til að lýsa því að byggja, senda og gefa út forrit fyrir ýmsa skýjapalla, allt frá Kubernetes til AWS og Google Cloud Run. Hugsaðu um Waypoint sem Terraform og Vagrant sett saman til að lýsa ferlinu við að byggja, senda og gefa út forritin þín.

Sannast sagna hefur HashiCorp gefið út Waypoint sem opinn uppspretta og það kemur með fullt af dæmum. Stig hljómsveitarstjórans er undir þér komið, Waypoint kemur sem keyrsla sem þú getur keyrt beint á fartölvuna þína eða úr CI/CD hljómsveitarverkfærinu þínu að eigin vali. Markmiðið fyrir dreifingu forrita er einnig undir þér komið, þar sem Waypoint styður Kubernetes, Docker, Google Cloud Run, AWS ECS og fleira.

Eftir að hafa lesið hið frábæra skjöl og flottust dæmi forritum frá HashiCorp, ákváðum við að skoða nánar Waypoint-hljómsveit með GitLab CI/CD. Til að gera þetta munum við taka einfalt Node.js forrit sem keyrir á AWS ECS úr sýnishorninu.

Eftir að hafa klónað geymsluna skulum við skoða uppbyggingu forritsins sem sýnir eina síðu:

Hvernig á að nota HashiCorp Waypoint til að vinna með GitLab CI/CD

Eins og þú hefur kannski tekið eftir er engin Dockerfile í þessu verkefni. Þeim er ekki bætt við í dæminu vegna þess að við þurfum ekki á þeim að halda, því Waypoint sér um þau fyrir okkur. Við skulum skoða skrána nánar waypoint.hcltil að skilja hvað það mun gera:

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

Á byggingartímanum notar Waypoint Cloud Native Buildpacks (CNB) til að ákvarða forritunarmál verkefnisins og búa til Docker mynd án þess að nota Dockerfile. Í grundvallaratriðum er þetta sama tækni og er notuð af GitLab að hluta Sjálfvirk DevOps í Auto Build skrefinu. Það er frábært að sjá að CNCF's CNB er að öðlast meiri og meiri upptöku meðal iðnaðarnotenda.

Þegar myndin hefur verið byggð mun Waypoint sjálfkrafa hlaða henni inn í AWS ECR skrána okkar svo að hún sé tilbúin til sendingar. Í lok samsetningar notar afhendingarskrefið AWS ECS viðbót til að dreifa forritinu okkar á AWS reikninginn okkar.

Frá fartölvunni minni er það auðvelt. Ég setti inn Waypoint sem er nú þegar staðfest á AWS reikningnum mínum og það "virkar bara". En hvað gerist ef ég vil fara út fyrir fartölvuna mína? Eða vil ég kannski gera þessa uppsetningu sjálfvirkan sem hluta af heildar CI/CD pípunni minni þar sem núverandi samþættingarpróf, öryggispróf og önnur keyra? Þetta er hluti sögunnar þar sem GitLab CI/CD kemur inn!

NB Ef þú ætlar bara að innleiða CI / CD eða vilt byrja að beita bestu starfsvenjum við að byggja leiðslur skaltu fylgjast með nýja Slurm námskeiðinu. "CI/CD á dæmi um Gitlab CI". Það er nú fáanlegt fyrir forpöntunarverð.

Vegpunktur í GitLab CI/CD

Til að skipuleggja allt þetta í GitLab CI/CD, skulum við sjá hvað við þurfum í skránni okkar .gitlab-ci.yml:

  • Fyrst af öllu þarftu grunnmynd til að keyra inni í henni. Waypoint keyrir á hvaða Linux dreifingu sem er, það þarf aðeins Docker, svo við getum keyrt með almennri Docker mynd.
  • Næst þarftu að setja Waypoint inn í þessa mynd. Í framtíðinni gætum við safnað meta byggja mynd og geymdu þetta ferli fyrir þig.
  • Að lokum munum við keyra Waypoint skipanirnar

Hér að ofan er allt sem leiðslan okkar þarf til að keyra forskriftirnar sem þarf til að framkvæma dreifinguna, en til að dreifa á AWS þurfum við eitt í viðbót: við verðum að skrá okkur inn á AWS reikninginn okkar. Í Waypoint lýsingu hafa áætlanir um auðkenningu og heimild. HashiCorp gaf einnig út glæsilegt verkefni í vikunni Boundary. En í bili getum við bara tekið og séð um auðkenningu og heimild sjálf.

Það eru nokkrir möguleikar fyrir GitLab CICD auðkenningu á AWS. Fyrsti kosturinn er að nota innbyggða HashiCorp Vault. Það er í lagi ef teymið þitt er nú þegar að nota Vault fyrir persónuskilríkisstjórnun. Önnur aðferð sem virkar ef teymið þitt stjórnar heimildum með AWS IAM er að athuga hvort afhendingarverkefni séu sett af stað í gegnum GitLab RunnerA sem hefur heimild til að hefja dreifinguna í gegnum IAM. En ef þú vilt bara kynnast Waypoint og vilt gera það fljótt, þá er síðasti kosturinn að bæta við AWS API og leynilyklum við GitLab CI/CD umhverfisbreytur AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY.

Setjið allt saman

Þegar við höfum fundið út auðkenninguna getum við byrjað! Úrslitaleikurinn okkar .gitlab-ci.yml lítur svona út:

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

Þú sérð að við byrjum á mynd docker:latest og stilltu nokkrar umhverfisbreytur sem Waypoint krefst. Í kafla script við hleðum niður nýjustu Waypoint keyrslunni og setjum hann inn /usr/local/bin. Þar sem hlauparinn okkar hefur nú þegar heimild í AWS, þá hlaupum við einfaldlega waypoint init, build, deploy и release.

Framleiðsla byggingarverkefnisins mun sýna okkur endapunktinn þar sem við settum forritið:

Hvernig á að nota HashiCorp Waypoint til að vinna með GitLab CI/CD

Leiðarpunktur einn af fjölmargar HashiCorp lausnir, sem virka frábærlega með GitLab. Til dæmis, auk þess að afhenda umsóknina, getum við skipulagt undirliggjandi innviði með Terraform í GitLab. Til að staðla SDLC öryggi getum við líka innleitt GitLab með Vault til að stjórna leyndarmálum og táknum í CI/CD leiðslum, sem býður upp á heildarlausn fyrir þróunaraðila og stjórnendur sem treysta á leynistjórnun fyrir þróun, prófun og framleiðslunotkun.

Sameiginlegar lausnir þróaðar af HashiCorp og GitLab hjálpa fyrirtækjum að finna bestu leiðina til að þróa forrit með því að tryggja stöðuga aðfangakeðju og innviðastjórnun. Waypoint hefur tekið enn eitt skrefið í rétta átt og við hlökkum til frekari þróunar verkefnisins. Þú getur lært meira um Waypoint hérlíka þess virði að skoða skjöl и þróunaráætlun verkefni. Við höfum bætt þekkingu okkar við GitLab CICD skjöl. Ef þú vilt prófa það sjálfur geturðu skoðað heildardæmið á þessari geymslu.

Þú getur skilið meginreglur CI / CD, náð góðum tökum á öllum fínleikunum við að vinna með Gitlab CI og byrjað að beita bestu starfsvenjum með því að klára myndbandsnámskeiðið "CI/CD á dæmi um Gitlab CI"... Gakktu til liðs við okkur!

Heimild: www.habr.com

Bæta við athugasemd