1. 安装GitLab Runner(CI/CD任务执行器)
GitLab Runner是执行CI/CD任务的必要组件,需先在Linux服务器上安装并注册。以Ubuntu/Debian为例,步骤如下:
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bashsudo apt-get install gitlab-runnersudo gitlab-runner register,按提示输入GitLab实例URL(如http://gitlab.example.com)和注册Token(从GitLab项目→Settings→CI/CD→Runners获取),选择执行器(推荐Shell或Docker),并配置标签(如linux)以便后续筛选。2. 配置.gitlab-ci.yml(CI/CD流程定义文件)
在项目根目录创建.gitlab-ci.yml文件,定义阶段(stages)(如build、test、deploy)和任务(jobs)(每个job对应一个具体操作)。示例如下:
stages:
- build # 构建阶段
- test # 测试阶段
- deploy # 部署阶段
variables:
GIT_SUBMODULE_STRATEGY: recursive # 递归拉取子模块(如有)
build_job:
stage: build
image: maven:3.6.3-jdk-8 # 使用Maven镜像(适合Java项目)
script:
- echo "开始构建打包..."
- mvn clean package # 执行Maven构建
artifacts:
paths:
- target/ # 将构建产物(如jar包)传递给后续job
test_job:
stage: test
script:
- echo "开始执行单元测试..."
- mvn test # 运行Maven测试
deploy_job:
stage: deploy
script:
- echo "开始部署到生产环境..."
- scp -r target/*.jar user@your_server_ip:/opt/app/ # 将构建产物复制到服务器
only:
- master # 仅master分支变更时触发部署
该文件需提交到GitLab仓库,Runner会根据其内容自动执行流程。
3. 触发CI/CD Pipeline
Pipeline触发方式有两种:
git push origin master)时,Runner会自动检测.gitlab-ci.yml并启动Pipeline。4. 监控与调试Pipeline
build_job),可查看详细执行日志(包括命令输出、错误信息),便于快速定位问题。5. 高级配置(可选)
Docker执行器,指定基础镜像。示例如下:test_job:
stage: test
image: node:18 # 使用Node.js 18镜像
script:
- npm install
- npm test
.gitlab-ci.yml中通过$变量名引用(如$DB_PASSWORD),避免硬编码。