Meriv çawa HashiCorp Waypoint bikar tîne da ku bi GitLab CI/CD re hevkariyê bike

Meriv çawa HashiCorp Waypoint bikar tîne da ku bi GitLab CI/CD re hevkariyê bike

HashiCorp projeyek nû nîşan da xala rê li ser HashiCorp Digital. Ew pelek-based HCL bikar tîne da ku çêkirin, radestkirin û berdana serîlêdanan ji bo cûrbecûr platformên ewr, ji Kubernetes bigire heya AWS-ê heya Google Cloud Run-ê diyar bike. Hûn dikarin Waypoint wekî Terraform û Vagrant bi hev re bifikirin ku pêvajoya avakirin, barkirin, û berdana serîlêdanên xwe diyar bikin.

Rast e, HashiCorp Waypoint wekî çavkaniya vekirî derxistiye û bi gelek mînakan re tê. Tebeqeya orkestrator li ser we ye, Waypoint wekî darvekerek tê ku hûn dikarin rasterast li ser laptopa xwe an jî ji amûra bijartî ya orkestrasyona CI/CD-ê bixebitin. Armanca bicîhkirina serîlêdanên we jî bi we re ye, ji ber ku Waypoint Kubernetes, Docker, Google Cloud Run, AWS ECS, û hêj bêtir piştgirî dike.

Piştî xwendina bi heybet belgekirin û ya herî luks nimûne serîlêdanên ku ji hêla HashiCorp ve têne peyda kirin, me biryar da ku em ji nêz ve li orkestrasyona Waypoint bi karanîna GitLab CI/CD binêrin. Ji bo vê yekê, em ê ji depoya mînakan serîlêdanek Node.js ya hêsan ku li ser AWS ECS tê xebitandin bistînin.

Piştî klonkirina depoyê, em li strukturên serîlêdanê binêrin ku yek rûpelek nîşan dide:

Meriv çawa HashiCorp Waypoint bikar tîne da ku bi GitLab CI/CD re hevkariyê bike

Wekî ku we dîtiye, ev proje xwedan Dockerfile nîne. Ew di nimûneyê de nehatine zêdekirin, ji ber ku di prensîbê de em ne hewce ne ji wan re, ji ber ku Waypoint dê wan ji me re bigire. Ka em ji nêz ve li dosyayê binêrin waypoint.hclfêm bikin ku ew ê çi bike:

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

Di qonaxa avakirinê de, Waypoint Buildpacks Cloud Native (CNB) ji bo destnîşankirina zimanê bernamesaziya projeyê û bêyî karanîna Dockerfile wêneyek Docker biafirîne. Di prensîbê de, ev heman teknolojiyê ye ku GitLab beşek bikar tîne Auto DevOps di qonaxa Avakirina Xweser de. Baş e ku meriv bibîne ku CNB-ya CNCF di nav bikarhênerên pîşesaziyê de bêtir pejirandinê digire.

Gava ku wêne hate çêkirin, Waypoint dê bixweber wê li qeyda meya AWS ECR bar bike da ku ew ji bo radestkirinê amade be. Dema ku avakirin qediya, qonaxa radestkirinê bikar tîne Pêveka AWS ECS da ku serîlêdana me li hesabê meya AWS-ê bicîh bikin.

Ji laptopê min - her tişt hêsan e. Min Waypointek ku ji berê ve hatî pejirandin xiste hesabê xweya AWS û ew "tenê dixebite". Lê çi diqewime ger ez bixwazim ji laptopa xwe wêdetir biçim? An jî ez ji nişkê ve dixwazim vê bicîhkirinê wekî beşek ji xeta xweya giştî ya CI/CD-ê otomatîk bikim, ku ceribandinên min ên entegrasyonê yên domdar, ceribandinên ewlehiyê, û yên din têne meşandin? Ev beşa çîrokê ye ku GitLab CI/CD tê de ye!

NB Heke hûn tenê plan dikin ku CI / CD-yê bicîh bikin an jî dixwazin ku ji bo avakirina lûleyan dest bi sepandina pratîkên çêtirîn bikin, bala xwe bidin qursa nû ya Slurm. "CI/CD wekî mînakek Gitlab CI bikar tîne". Naha ew bi bihayê pêşdibistanê peyda dibe.

Di GitLab CI/CD de xala rê

Ji bo ku van hemîyan di GitLab CI/CD de birêkûpêk bikin, werin em li pelê xwe çi hewce bikin binêrin .gitlab-ci.yml:

  • Berî her tiştî, hûn hewceyê wêneyek bingehîn e ku hûn di hundurê wê de bixebitin. Waypoint li ser her belavkirina Linux-ê dixebite, ew tenê hewceyê Docker-ê ye, ji ber vê yekê em dikarin bi wêneyek Docker-a gelemperî bimeşînin.
  • Piştre hûn hewce ne ku Waypoint di vê wêneyê de saz bikin. Di pêşerojê de dibe ku em berhev bikin avakirina meta wêneyê û vê pêvajoyê ji bo xwe konteynir bikin.
  • Di dawiyê de em ê fermanên Waypoint bimeşînin

Ya jorîn her tiştê ku dê boriyê me hewce bike destnîşan dike da ku skrîptên ku ji bo temamkirina bicîhkirinê hewce ne bimeşîne, lê ji bo ku em li AWS-ê bicîh bikin em ê hewceyê tiştek din bikin: Divê em têkevin hesabê xweya AWS. Di danasîna Waypoint de plan hene di derbarê pejirandin û destûrnameyê de. HashiCorp vê hefteyê jî projeyek balkêş derxist tixûb. Lê ji bo naha, em tenê dikarin bi xwe verastkirin û destûrnameyê bi rê ve bibin.

Ji bo erêkirina GitLab CICD di AWS de gelek vebijark hene. Vebijarka yekem ev e ku meriv amûra çêkirî bikar bîne HashiCorp Vault. Ger tîmê we jixwe ji bo rêveberiya pêbaweriyê Vault bikar bîne ev pir xweş e. Vebijarkek din a ku kar dike ger tîmê we destûrnameyê bi karanîna AWS IAM rêve dike ev e ku hûn kontrol bikin ka peywirên radestkirinê bi navgîniyê ve têne rêve kirin. GitLab Runner, destûr daye ku veqetandinê bi IAM-ê ve bimeşîne. Lê heke hûn tenê dixwazin bi Waypoint re nas bikin û dixwazin wiya zû bikin, vebijarkek paşîn heye - AWS API û bişkojkên veşartî lê zêde bikin Guherbarên jîngehê yên GitLab CI/CD AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY.

Hemî li hev xistin

Gava ku em pejirandinê fam bikin, em dikarin dest pê bikin! Fînala me .gitlab-ci.yml vî rengî dibîne:

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

Hûn dibînin ku em bi wêneyek dest pê dikin docker:latest û çend guhêrbarên jîngehê yên ku ji hêla Waypoint ve têne xwestin saz bikin. Di serî de script em guhertoya herî dawî ya îcrakar Waypoint dakêşin û tê de saz dikin /usr/local/bin. Ji ber ku bezê me jixwe di AWS-ê de destûr daye, paşê em bi tenê dimeşînin waypoint init, build, deploy и release.

Encama peywira çêkirinê dê xala dawî ya ku me sepanê lê derxistiye nîşanî me bide:

Meriv çawa HashiCorp Waypoint bikar tîne da ku bi GitLab CI/CD re hevkariyê bike

Waypoint yek ji gelek çareseriyên HashiCorp, bi GitLab re pir baş bixebitin. Mînakî, ji bilî radestkirina serîlêdanê, em dikarin binesaziya bingehîn bikar bînin organîze bikin Terraform li ser GitLab. Ji bo standardîzekirina ewlehiya SDLC, em jî dikarin bicîh bikin GitLab bi Vault ji bo birêvebirina raz û nîşanan di lûleyên CI/CD-ê de, ji bo pêşdebir û rêvebirên ku ji bo pêşkeftin, ceribandin û karanîna hilberînê xwe dispêrin rêveberiya nehênî, çareseriyek tevdeyî peyda dikin.

Çareseriyên hevbeş ên ku ji hêla HashiCorp û GitLab ve hatine pêşve xistin ji pargîdaniyan re dibe alîkar ku bi peydakirina rêveberiya domdar a lûleyên radestkirinê û binesaziyê rêyek çêtir bibînin ku serîlêdanan pêşve bibin. Waypoint gavek din di riya rast de avêtiye û em li hêviya berdewamiya pêşveçûna projeyê ne. Hûn dikarin li ser Waypoint bêtir fêr bibin vir, di heman demê de hêjayî lêkolînê ye belgekirin и plana pêşveçûnê rêvename. Me zanyariyên ku me bi dest xistine lê zêde kiriye Belgekirina GitLab CICD. Heke hûn dixwazin her tiştî bixwe biceribînin, hûn dikarin mînakek xebatê ya bêkêmasî tê de bigirin vê depoyê.

Hûn dikarin prensîbên CI/CD-ê fêm bikin, hemî tevliheviyên xebata bi Gitlab CI-ê re fêr bibin û bi girtina qursek vîdyoyê dest bi sepandina pratîkên çêtirîn bikin. "CI/CD wekî mînakek Gitlab CI bikar tîne". Join now!

Source: www.habr.com

Add a comment