簡介 GitLab CI/CD
什麼是 GitLab CI/CD?
GitLab CI/CD 是 GitLab 提供的持續集成 (Continuous Integration) 和持續部署 (Continuous Deployment) 功能。它允許開發團隊自動化地將程式碼整合、測試和部署到目標環境中,從而加快軟體開發週期,提高效率。
GitLab CI/CD 的核心概念
Pipeline(流水線):Pipeline 是一個自動化的工作流程,由一系列稱為 job 的任務組成。Pipeline 可以自動執行各種操作,例如編譯程式碼、運行測試、構建 Docker 鏡像、部署應用程式等。
Runner(執行器):Runner 是實際執行 Pipeline 中 job 的代理程式。Runner 可以是 GitLab 提供的共享 Runner,也可以是自定義的 Runner。
Job(任務):Job 是 Pipeline 中的一個步驟,代表一個具體的操作,例如編譯程式碼、運行測試、構建 Docker 鏡像、部署應用程式等。
Stage(階段):Stage 是一組相關聯的 job 的集合,代表 Pipeline 中的一個階段。例如,可以有一個編譯階段包含所有編譯相關的 job。
GitLab CI/CD 範例
以下是一個簡單的 GitLab CI/CD 範例,用於自動測試、構建和部署一個 Web 應用程式:
# .gitlab-ci.yml
# 定義 Pipeline 中的階段
stages:
- build
- test
- deploy
# 定義各階段中的 job
# 在每個 job 中,我們可以定義 script 欄位來指定要執行的指令
# 我們也可以使用不同的 image 來執行不同的操作
jobs:
# 編譯程式碼
build:
stage: build
script:
- npm install
- npm run build
artifacts:
paths:
- build/
# 執行測試
test:
stage: test
script:
- npm test
# 部署到生產環境
deploy:
stage: deploy
script:
- docker build -t myapp .
- docker tag myapp registry.example.com/myapp
- docker push registry.example.com/myapp
only:
- master # 只有在 master 分支上提交時才執行部署操作
Last updated