上次分享了gitlab+jenkins实现CICD,前提我们需要安装一个jenkins。其实高版本的gitlab已经具备CICD功能,笔者使用的版本是:GitLab 社区版 11.4.10
安装Runners
Settings > CI/CD > Runners
- 根据提示点击Install Gitlab Runner
下面根据你的系统选择相应的安装包,笔者以linux为例:
这里官方提供的安装步骤很详细:- 下载安装包,使用
cat /proc/cpuinfo
命令查看你的cpu信息,如果flag一行有lm字样,证明你的系统是x86-64(电脑系统一般都是x86)
sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
- 给runner赋予执行权限
sudo chmod +x /usr/local/bin/gitlab-runner
- 安装并启动服务
sudo gitlab-runner install --user=xxx --working-directory=/home/xxx sudo gitlab-runner start sudo gitlab-runner status # 查看是否启动成功
- 注册runner
接下来需要输入gitlab地址和token,取自:sudo gitlab-runner register
- 如果安装成功,可以在Runners页面看到
- 下载安装包,使用
配置yml脚本
下面基于spring-boot + maven项目,提供一个脚本demo:
stages:
- build
- package
- deploy
build:
stage: build
tags:
- one
script:
- echo "---------------开始编译-----------------"
- mvn clean compile
package:
stage: package
tags:
- one
script:
- echo "---------------开始打包-----------------"
- mvn package -DskipTests=true
only:
- master
deploy:
stage: deploy
tags:
- one
script:
- echo "---------------开始发布Jar至私服-----------------"
- mvn source:jar deploy -DskipTests
only:
- master
这里的tags制定了运行该stage的runner。如果找不到会让作业一直处于pending状态,显示:“作业被卡主,请检查runner”。