It's Because of the .yml File!


Halooo, kembali lagi bersama Bthari! :)

Setelah saya menjelaskan tentang CI/CD pada post-post sebelumnya, di sini saya akan menjelaskan secara garis besar bagaimana pipelines pada setiap environment dapat berbeda-beda. Pertama-tama, mari kita lihat terlebih dahulu bagaimana pipeline-nya:

coba_coba (dulu)


sit_uat & master & coba_coba (sekarang)



other branch


Bagaimana hal seperti ini bisa terjadi? Pada setiap branch akan memiliki .gitlab-ci.yml yang akan mengatur stages CI pada branch tersebut. 

Terdapat beberapa cara, misal pada setiap branch akan memiliki definisi stages apa saja yang perlu dilewati. Pada coba-coba yang dulu stages yang perlu dilewati diatur seperti


stages:
  - release
  - deploy

Sehingga branch coba_coba tidak akan melewati testing terlebih dahulu untuk di-deploy ke server.

Sementara untuk setiap branch lain maka ada tiga tahapan pada kode .yml, seperti: 


stages:
  - test
  - release
  - deploy

Dan, pada tahapan release dan deploy akan ditambahkan variable only yang mana menunjukkan nama-nama branch yang akan melewati tahapan release dan deploy, sehingga branch lain (working branch) tidak akan melalui tahapan tersebut.


release:
  stage: release
  image: docker:latest
  services:
    - docker:dind
  before_script:
    ...
  script:
    ...
  only:
    refs:
      - master
      - sit_uat
      - coba_coba

Sekian post saya, semoga bermanfaat! :)


0 komentar:

Post a Comment