构思
gitlab-runner提供很多种运行环境,初次尝试所以选择比较容易上手的shell,流程基本与Jenkins无异,无缝集成gitlab所以不需要webhook。
基本流程:
git推送代码 ==> gitlab生成job ==> gitlab-runner监听到自己的job ==> gitlab-runner主动拉取代码 ==> 执行.gitlab-ci.yml操作
构建
-
gitlab服务器
这个不用多说了吧 -
gitlab-runner服务器
一台基于ubuntu20.04的机器
ubuntu20应该直接就有,没有尝试更新一下apt
sudo apt-cache search gitlab-runner
sudo apt-get install gitlab-runner
注册一个runner
sudo gitlab-runner register
配置参数
参数从gitlab获取
注册完就能在gitlab看到了
此时gitlab-runner还没有运行,手动启动一下,可以通过 /etc/gitlab-runner/config.toml配置修改
sudo gitlab-runner run
编写 .gitlab-ci.yml 文件实现部署,因为资源限制就直接在gitlab-runner机器上部署了,远程部署的话多一步ssh登录过程
基本配置
stages:
- deploy
service-deploy:
stage: deploy
only:
- master ##只关注master分支
tags:
- test-tag ##标签
scripts:
- mvn clean package ##构建jar,可以多加一个任务来构建
- cp ./target/xxx.jar /xxx ## 处理jar包,给到谁谁谁
## 图方便直接用docker起
- cd /xxx && docker-compose down && docker-compose up -d
整完测试
修改代码提交可以看到