Skip to main content

Gitlab - CI/CD

.gitlab-ci.yml 搞定 CI/CD Pipeline

GitLab CI 會檢查 repo 內是否有 .gitlab-ci.yml 的檔案,根據 .gitlab-ci.yml 所定義的內容自動建立 CI/CD Pipeline。如果要建立 build / test / deploy 這三個階段,我們可以按以下的步驟撰寫 .gitlab-ci.yml。 三個 job name 並且只在prod分支發生MR時執行:

  • build-job,build-job 只在 build stage執行。
  • test-job,test-job 只在 test stage執行。
  • deploy-job,deploy 只在 deploy stage執行。
stages:
- build
- test
- deploy

build-job:
stage: build
script:
- echo "Hello, $GITLAB_USER_LOGIN!"

test-job:
stage: test
script:
- echo "This job tests something"

deploy:
image: ruby:latest
stage: deploy
variables:
HEROKU_APP_NAME: "app-name"
HEROKU_API_KEY: "api-key"
before_script:
- gem install dpl && gem install faraday -v 1.8.0
script:
- dpl --provider=heroku --app=$HEROKU_APP_NAME --api-key=$HEROKU_API_KEY
only:
- prod