Nola erabili HashiCorp Waypoint GitLab CI/CD-rekin elkarlanean aritzeko

Nola erabili HashiCorp Waypoint GitLab CI/CD-rekin elkarlanean aritzeko

HashiCorp-ek proiektu berri bat erakutsi zuen Bide puntua on HashiCorp Digital. HCL-n oinarritutako fitxategi bat erabiltzen du hodeiko hainbat plataformatarako aplikazioen eraikuntza, entrega eta kaleratzea deskribatzeko, Kubernetes-etik AWS-ra eta Google Cloud Run-era. Waypoint Terraform eta Vagrant konbinatuta bezala pentsa dezakezu zure aplikazioak eraikitzeko, bidaltzeko eta askatzeko prozesua deskribatzeko.

Formari jarraiki, HashiCorp-ek Waypoint kode ireki gisa kaleratu du eta adibide askorekin dator. Orkestratzaile geruza zure esku dago, Waypoint zure ordenagailu eramangarritik zuzenean exekutatu dezakezun exekutagarri gisa dator edo nahi duzun CI/CD orkestrazio tresnatik. Zure aplikazioak zabaltzeko helburua ere zure esku dago, Waypoint-ek Kubernetes, Docker, Google Cloud Run, AWS ECS eta abar onartzen baititu.

Ikaragarria irakurri ondoren dokumentazioa eta luxuzkoena adibide HashiCorp-ek eskaintzen dituen aplikazioak, Waypoint orkestrazioa gertutik aztertzea erabaki dugu GitLab CI/CD erabiliz. Horretarako, AWS ECS-en exekutatzen den Node.js aplikazio sinple bat hartuko dugu adibideen biltegitik.

Biltegia klonatu ondoren, ikus dezagun orri bat bistaratzen duen aplikazioaren egitura:

Nola erabili HashiCorp Waypoint GitLab CI/CD-rekin elkarlanean aritzeko

Konturatuko zinen bezala, proiektu honek ez du Dockerfilerik. Adibidean ez dira gehitzen, printzipioz ez ditugulako behar, Waypointek zainduko gaituelako. Ikus dezagun fitxategia gertutik waypoint.hclzer egingo duen ulertzeko:

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

Eraikitze fasean, Waypoint-ek Cloud Native Buildpack-ak erabiltzen ditu (CNB) proiektuaren programazio-lengoaia zehazteko eta Docker irudi bat sortzeko Dockerfile bat erabili gabe. Printzipioz, GitLab-ek neurri batean erabiltzen duen teknologia bera da Auto DevOps Auto Eraikuntza urratsean. Ona da CNCF-ren CNB industriako erabiltzaileen artean harrera handiagoa hartzen ari dela ikustea.

Irudia eraikitakoan, Waypoint-ek automatikoki igoko du gure AWS ECR erregistrora, entregatzeko prest egon dadin. Eraikuntza amaitutakoan, entrega urratsa erabiltzen da AWS ECS gehigarria gure aplikazioa gure AWS kontuan zabaltzeko.

Nire ordenagailu eramangarritik - dena erraza da. Dagoeneko autentifikatuta dagoen Waypoint bat jarri dut nire AWS kontuan eta "funtzionatzen du". Baina zer gertatzen da nire ordenagailu eramangarria haratago joan nahi badut? Edo bat-batean inplementazio hau automatizatu nahi al dut nire CI/CD kanalizazio orokorraren parte gisa, non egiten diren nire etengabeko integrazio-probak, segurtasun-probak eta beste batzuk? Hau da GitLab CI/CD sartzen den istorioaren zatia!

Oharra CI/CD ezartzeko asmoa baduzu edo kanalizazioak eraikitzeko jardunbide egokiak aplikatzen hasi nahi baduzu, arreta jarri Slurm-en ikastaro berriari "CI/CD Gitlab CI erabiliz adibide gisa". Orain eskuragarri dago erreserbaren prezioan.

Waypoint GitLab CI/CD-n

Hau guztia GitLab CI/CD-n orkestratzeko, ikus dezagun zer behar dugun gure fitxategian .gitlab-ci.yml:

  • Lehenik eta behin, oinarrizko irudi bat behar duzu barruan exekutatzeko. Waypoint-ek edozein Linux banaketatan funtzionatzen du, Docker bakarrik behar du, beraz, Docker irudi generiko batekin exekutatu gaitezke.
  • Ondoren, Waypoint instalatu behar duzu irudi honetan. Etorkizunean bil ditzakegu irudi meta eraikitzea eta edukiontziz prozesu hau zeure buruari.
  • Azkenik Waypoint komandoak exekutatuko ditugu

Aurrekoak gure kanalizazioak inplementazioa osatzeko beharrezkoak diren script-ak exekutatzeko behar duen guztia azaltzen du, baina AWSra zabaltzeko gauza bat gehiago beharko dugu: gure AWS kontuan saioa hasi behar dugu. Waypoint deskribapenean planak daude autentifikazioari eta baimenei buruz. HashiCorp-ek ere proiektu ikusgarria kaleratu du aste honetan Muga. Baina oraingoz, autentifikazioa eta baimena guk geuk kudea ditzakegu.

GitLab CICD autentifikaziorako hainbat aukera daude AWSn. Lehenengo aukera integratua erabiltzea da HashiCorp Ganga. Hau bikaina da zure taldeak dagoeneko Vault erabiltzen badu kredentzialak kudeatzeko. Zure taldeak AWS IAM erabiliz baimena kudeatzen badu funtzionatzen duen beste aukera bat entrega-zereginak bidez abiarazten direla egiaztatzea da. GitLab Runner, inplementazioa IAM bidez exekutatzeko baimena duena. Baina Waypoint-ekin ezagutu nahi baduzu eta azkar egin nahi baduzu, badago azken aukera bat: gehitu zure AWS APIa eta gako sekretuak GitLab CI/CD ingurune-aldagaiak AWS_ACCESS_KEY_ID ΠΈ AWS_SECRET_ACCESS_KEY.

Elkarrekin jartzea

Behin autentifikazioa ulertzen dugunean, has gaitezke! Gure finala .gitlab-ci.yml hau itxura du:

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

Ikusten duzue irudi batekin hasten garela docker:latest eta ezarri Waypoint-ek eskatzen dituen hainbat ingurune-aldagai. kapituluan script Waypoint exekutagarriaren azken bertsioa deskargatu eta bertan instalatzen dugu /usr/local/bin. Gure korrikalaria dagoeneko AWSn baimenduta dagoenez, hurrengoan exekutatu besterik ez dugu egiten waypoint init, build, deploy ΠΈ release.

Eraikuntza-zereginaren irteerak aplikazioa zabaldu dugun amaierako puntua erakutsiko digu:

Nola erabili HashiCorp Waypoint GitLab CI/CD-rekin elkarlanean aritzeko

Bide-puntua horietako bat HashiCorp irtenbide ugari, bikain funtzionatu GitLab-ekin. Adibidez, aplikazioa emateaz gain, azpiko azpiegitura orkestratu dezakegu erabiliz Terraform GitLab-en. SDLC segurtasuna estandarizatzeko, inplementatu ere egin dezakegu GitLab Vault-ekin CI/CD kanalizazioetan sekretuak eta tokenak kudeatzeko, garapenerako, probak eta ekoizpenerako erabilerarako sekretuen kudeaketan oinarritzen diren garatzaileei eta administratzaileei irtenbide integrala eskainiz.

HashiCorp-ek eta GitLab-ek garatutako soluzio bateratuek enpresei aplikazioak garatzeko modu hobea aurkitzen laguntzen diete, entrega-bideen eta azpiegituren kudeaketa koherentea eskainiz. Waypoint-ek beste urrats bat eman du norabide onean eta proiektua garatzen jarraitzea espero dugu. Waypoint-i buruz gehiago jakin dezakezu Hemen, ere aztertzea merezi du dokumentazioa ΠΈ garapen plana proiektua. Lortutako ezagutza gehitu dugu GitLab CICD dokumentazioa. Dena zuk zeuk probatu nahi baduzu, lan-adibide oso bat har dezakezu biltegi hau.

CI/CD-ren printzipioak uler ditzakezu, Gitlab CI-rekin lan egiteko zailtasun guztiak menderatu eta praktika onenak aplikatzen has zaitezke bideo-ikastaro bat eginez. "CI/CD Gitlab CI erabiliz adibide gisa". Batu zaitez!

Iturria: www.habr.com

Gehitu iruzkin berria