Skip to main content

Deployment Workflow

Release

Release artinya membuat tag. Release sebaiknya dilakukan sesering mungkin, misalnya setelah menyelesaikan bug atau tweak. Format rilis mengikuti SemVer.

Perintah release melalui bot adalah

imp!release [patch/minor/major] [nama aplikasi]

Contoh misalnya tag terakhir v2-erkam-api-gateway adalah v1.0.1

imp!release patch v2-erkam-api-gateway

Perintah tersebut akan menghasilkan tag baru yaitu v1.0.2. Tag otomatis akan dibuat dari default branch. Release note akan diambil dari commit message, jadi pastikan kita melakukan commit dengan message yang jelas.

Kita juga dapat mendefinisikan tag secara langsung

imp!release v1.0.3 v2-erkam-api-gateway

Atau menentukan tag akan dibuat dari branch yang mana

imp!release patch v2-erkam-api-gateway --branch=fix-bug-dashboard

Build

Build artinya membuat docker image dari sebuah project.

imp!build [nama aplikasi] [nama tag]

Contohnya

imp!build v2-erkam-api-gateway v1.0.3

Deploy

Deploy berarti menginstall aplikasi dengan versi tertentu.

imp!deploy [nama aplikasi] [nama tag] [production/staging/practice]

Contohnya

imp!deploy v2-erkam-api-gateway v1.0.3 production

Kita juga dapat mendeploy latest version dari sebuah aplikasi

imp!deploy v2-erkam-api-gateway latest staging

Perintah Lainnya

Restart aplikasi

imp!restart [nama aplikasi] [development/staging/production/practice]

Contohnya

imp!restart lms-be development

Melihat status deployment

imp!status [nama aplikasi] [development/staging/production/practice]

Contohnya

imp!status lms-be staging

Hasilnya

NAME                      READY   STATUS    RESTARTS   AGE
lms-be-5ddddf59d8-mmqjj 1/1 Running 0 28h

image: gcr.io/pmrms-362603/lms/lms-be:latest

Menjalankan perintah di aplikasi

imp!run [nama aplikasi] [development/staging/production/practice] --command="[tulis command disini]"

Contoh: menjalankan perintah migration pada aplikasi Laravel

imp!run lms-be staging --command="php artisan migrate"

Contoh: print string

imp!run lms-be staging --command="echo 'here'"