Cara nggunakake Waypoint HashiCorp kanggo Kolaborasi karo GitLab CI/CD

Cara nggunakake Waypoint HashiCorp kanggo Kolaborasi karo GitLab CI/CD

HashiCorp nuduhake proyek anyar Waypoint ing HashiCorp Digital. Iki nggunakake file basis HCL kanggo njlèntrèhaké bangunan, pengiriman, lan ngeculake aplikasi kanggo macem-macem platform maya wiwit saka Kubernetes nganti AWS lan Google Cloud Run. Coba Waypoint minangka Terraform lan Vagrant digabungake kanggo nggambarake proses mbangun, ngirim, lan ngeculake aplikasi sampeyan.

Bener kanggo wangun, HashiCorp wis dirilis Waypoint minangka open source, lan nerangake karo akèh conto. Tingkat orkestra terserah sampeyan, Waypoint minangka eksekusi sing bisa ditindakake langsung ing laptop utawa saka alat orkestrasi CI / CD sing dipilih. Target panyebaran aplikasi uga gumantung sampeyan, amarga Waypoint ndhukung Kubernetes, Docker, Google Cloud Run, AWS ECS, lan liya-liyane.

Sawise maca apik tenan dokumentasi lan paling ayu conto aplikasi sing diwenehake dening HashiCorp, kita mutusake kanggo nliti orkestrasi Waypoint karo GitLab CI/CD. Kanggo nindakake iki, kita bakal njupuk aplikasi Node.js prasaja sing mlaku ing AWS ECS saka gudang sampel.

Sawise kloning repositori, ayo deleng struktur aplikasi sing nampilake siji kaca:

Cara nggunakake Waypoint HashiCorp kanggo Kolaborasi karo GitLab CI/CD

Kaya sing sampeyan ngerteni, ora ana Dockerfile ing proyek iki. Dheweke ora ditambahake ing conto amarga kita ora butuh, amarga Waypoint bakal ngurus kanggo kita. Ayo dideleng kanthi luwih rinci babagan file kasebut waypoint.hclkanggo mangerteni apa sing bakal ditindakake:

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

Sajrone fase mbangun, Waypoint nggunakake Cloud Native Buildpacks (CNB) kanggo nemtokake basa pamrograman proyek lan nggawe gambar Docker tanpa nggunakake Dockerfile. Ing asas, iki minangka teknologi sing padha digunakake dening GitLab sebagian Auto DevOps ing langkah Auto Mbangun. Iku apik kanggo ndeleng sing CNCF kang CNB wis entuk liyane lan liyane Adoption antarane pangguna industri.

Sawise gambar digawe, Waypoint bakal kanthi otomatis ngunggah menyang registri AWS ECR supaya siap dikirim. Ing pungkasan perakitan, langkah pangiriman nggunakake Tambahan AWS ECS kanggo masang aplikasi kita menyang akun AWS kita.

Saka laptopku gampang. Aku sijine Waypoint sing wis dikonfirmasi ing akun AWS lan "mung dianggo". Nanging apa sing kedadeyan yen aku pengin ngluwihi laptop? Utawa mungkin aku pengin ngotomatisasi penyebaran iki minangka bagean saka pipa CI / CD sakabèhé ing ngendi tes integrasi, tes keamanan, lan liya-liyane saiki? Iki minangka bagean saka crita ing ngendi GitLab CI / CD mlebu!

NB Yen sampeyan mung planning kanggo ngleksanakake CI / CD utawa pengin miwiti aplikasi paling laku kanggo mbangun pipelines, mbayar manungsa waé kanggo kursus Slurm anyar. "CI/CD ing conto Gitlab CI". Saiki kasedhiya kanggo rega pre-order.

Waypoint ing GitLab CI/CD

Kanggo ngatur kabeh iki ing GitLab CI/CD, ayo ndeleng apa sing dibutuhake ing file kita .gitlab-ci.yml:

  • Kaping pisanan, sampeyan butuh gambar dhasar kanggo mbukak ing njero. Waypoint mlaku ing distribusi Linux apa wae, mung butuh Docker, supaya kita bisa mbukak gambar Docker umum.
  • Sabanjure, sampeyan kudu nginstal Waypoint menyang gambar iki. Ing mangsa ngarep kita bisa ngumpulake meta mbangun gambar lan containerize proses iki kanggo dhewe.
  • Pungkasan, kita bakal mbukak perintah Waypoint

Ndhuwur iku kabeh pipa sing dibutuhake kanggo mbukak skrip sing dibutuhake kanggo nindakake panyebaran, nanging kanggo nyebarake menyang AWS, kita butuh siji liyane: kita kudu mlebu menyang akun AWS. Ing gambaran Waypoint duwe rencana babagan otentikasi lan wewenang. HashiCorp uga ngrilis proyek sing apik banget minggu iki Batesan. Nanging saiki, kita mung bisa njupuk lan nangani otentikasi lan wewenang dhewe.

Ana sawetara opsi kanggo otentikasi GitLab CICD ing AWS. Opsi pisanan yaiku nggunakake built-in Kolong HashiCorp. Ora apa-apa yen tim sampeyan wis nggunakake Vault kanggo manajemen kredensial. Cara liya sing bisa digunakake yen tim sampeyan ngatur wewenang nggunakake AWS IAM yaiku mriksa manawa tugas pangiriman dipicu liwat GitLab RunnerA sing sah kanggo miwiti penyebaran liwat IAM. Nanging yen sampeyan mung pengin kenal karo Waypoint lan pengin nindakake kanthi cepet, pilihan pungkasan yaiku nambahake API AWS lan kunci Rahasia menyang Variabel lingkungan GitLab CI/CD AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY.

Sijine kabeh bebarengan

Sawise kita ngerti otentikasi, kita bisa miwiti! final kita .gitlab-ci.yml katon kaya iki:

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

Sampeyan ndeleng kita miwiti karo gambar docker:latest lan nyetel sawetara variabel lingkungan sing dibutuhake dening Waypoint. Ing bab script kita ndownload Waypoint paling anyar sing bisa dieksekusi lan dilebokake /usr/local/bin. Amarga pelari kita wis sah ing AWS, mula kita mung mbukak waypoint init, build, deploy и release.

Output saka tugas mbangun bakal nuduhake kita titik pungkasan ing ngendi kita nggulung aplikasi kasebut:

Cara nggunakake Waypoint HashiCorp kanggo Kolaborasi karo GitLab CI/CD

waypoint siji saka akeh solusi HashiCorp, sing kerjane apik karo GitLab. Contone, saliyane kanggo ngirim aplikasi, kita bisa orchestrate infrastruktur ndasari karo Terraform ing GitLab. Kanggo standar keamanan SDLC, kita uga bisa ngleksanakake GitLab karo Vault kanggo ngatur rahasia lan token ing pipa CI / CD, nyediakake solusi lengkap kanggo pangembang lan pangurus sing gumantung ing manajemen rahasia kanggo pangembangan, testing, lan panggunaan produksi.

Solusi gabungan sing dikembangake dening HashiCorp lan GitLab mbantu perusahaan nemokake cara paling apik kanggo ngembangake aplikasi kanthi njamin manajemen rantai pasokan lan infrastruktur sing konsisten. Waypoint wis njupuk langkah liyane ing arah sing bener lan kita ngarepake pangembangan proyek kasebut. Sampeyan bisa sinau luwih lengkap babagan Waypoint keneuga worth njelajah dokumentasi и rencana pembangunan proyek. Kita wis nambah kawruh kanggo GitLab CICD dokumentasi. Yen sampeyan pengin nyoba dhewe, sampeyan bisa mriksa conto kerja lengkap ing gudang iki.

Sampeyan bisa ngerti prinsip CI / CD, nguasai kabeh subtleties nggarap Gitlab CI lan miwiti ngetrapake praktik paling apik kanthi ngrampungake kursus video. "CI/CD ing conto Gitlab CI". Gabung saiki!

Source: www.habr.com

Add a comment