GitLab流水线作业配置指南
大约 3 分钟约 783 字
GitLab流水线作业配置指南
本文是一份详细的GitLab CI/CD配置示例教程,适合你这种只熟悉GitLab代码版本管理但未接触过Pipeline功能的用户。教程从基础概念讲起,逐步带你完成一个简单的CI/CD流水线配置。
1. GitLab CI/CD基础概念简介
- Pipeline:由多个阶段(stages)组成的自动化流程。
- Stage(阶段):流水线中的步骤集合,阶段之间顺序执行,阶段内的作业(jobs)并行执行。
- Job(作业):流水线的最小执行单元,定义具体执行的命令。
- Runner:执行Job的代理程序,GitLab提供共享Runner,也可以自建Runner。
2. 准备工作
- 你需要有一个GitLab项目(仓库)。
- 你需要拥有该项目的Maintainer或Owner权限。
- 确认项目中有可用的Runner(GitLab.com默认提供共享Runner,无需额外配置)。
.gitlab-ci.yml
文件
3. 创建 这是GitLab CI/CD的配置文件,必须放在项目根目录,文件名固定为 .gitlab-ci.yml
。
示例1:最简单的流水线配置
test-job:
script:
- echo "This is my first job!"
- date
test-job
是作业名称。script
定义作业执行的命令,按顺序执行。- 提交此文件后,GitLab会自动触发流水线执行。
4. 配置多阶段流水线示例
stages:
- build
- test
- deploy
build-job:
stage: build
script:
- echo "Building the project..."
- echo "Build complete."
test-job:
stage: test
script:
- echo "Running tests..."
- echo "Tests passed."
deploy-job:
stage: deploy
script:
- echo "Deploying the project..."
- echo "Deploy complete."
environment: production
stages
定义流水线的阶段顺序。- 每个job通过
stage
指定所属阶段。 - 阶段按顺序执行,前一阶段成功后才执行下一阶段。
environment
指定部署环境,GitLab UI中可视化展示。
.gitlab-ci.yml
文件并触发流水线
5. 提交 - 在GitLab项目页面,进入 Code > Repository。
- 选择分支(如
main
或master
),点击“+”新建文件。 - 文件名填写
.gitlab-ci.yml
,粘贴上述配置内容。 - 提交文件,GitLab自动检测并启动流水线。
- 进入 CI/CD > Pipelines 页面查看流水线状态。
- 点击流水线编号查看各个Job的执行日志。
6. 进阶示例:构建Docker镜像并部署(简要)
stages:
- build
- deploy
variables:
TAG_LATEST: $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME:latest
TAG_COMMIT: $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME:$CI_COMMIT_SHORT_SHA
build:
image: docker:latest
stage: build
services:
- docker:dind
script:
- docker build -t $TAG_COMMIT -t $TAG_LATEST .
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- docker push $TAG_COMMIT
- docker push $TAG_LATEST
deploy:
stage: deploy
script:
- ssh deployer@your_server_ip "docker pull $TAG_LATEST && docker stop old_container && docker rm old_container && docker run -d --name new_container $TAG_LATEST"
environment: production
- 使用Docker-in-Docker服务构建并推送镜像。
- 通过SSH登录远程服务器,拉取镜像并重启容器完成部署。
- 需要在GitLab项目中配置SSH私钥和服务器信息为CI/CD变量。
7. 关键点总结
.gitlab-ci.yml
是GitLab CI/CD的核心配置文件,必须放在项目根目录。- 通过定义
stages
和jobs
,控制流水线的执行流程。 - GitLab Runner负责执行作业,GitLab.com默认提供共享Runner。
- 提交配置文件后,流水线自动触发,执行结果可在GitLab界面查看。
- 逐步增加复杂度,从简单的脚本执行到构建、测试、部署。