一直在项目服务器拉取代码操作太繁琐了,所以顺便研究了下gitlab自带的CI功能。
1、部署客户端Git服务
#检查是否安装过git,如果已经安装则直接到步骤2
rpm -qa git
yum install git
#查看git版本
git --version
2、安装GitLab Runner
#添加yum源
[root@ ~]# curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
#安装
[root@ ~]# yum install gitlab-runner -y
#注册
[root@ ~]# gitlab-runner register
Runtime platform arch=amd64 os=linux pid=12388 revision=0e5417a3 version=12.0.1
Running in system-mode.
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
#输入gitlab地址(需要输入的url和token可以在下面图片所示位置找到)
https://gitlab.com/
#输入 gitlab-ci token
token
#输入Runner的描述
description
#输入Runner的标签tag,这个字段用来标识由哪个指定的Runner执行脚本(从description开始,下面的配置在创建成功之后都可以通过后台编辑)
tag
#询问是否在未加标签的Build上运行,如果输入false则gitlab-ci.yml没有加tag的job都无法调用本Runner
true
#询问是否锁定最近项目
false
#选择运行平台
xshell
#完成注册。
3、编写gitlab-ci.yml文件
在项目根目录创建gitlab-ci.yml文件(遇到奇怪的bug,暂时在每个分支下管理自己分支的提交事件)。
一个简单的Demo:
stages:
- update
dev_69:
stage: update
script:
- cd /www/wwwroot/project
- git pull origin dev
only:
- dev
tags:
- xiakedao
4、测试
在gitlab项目下点击CI\CD标签目录Pipelines选项,进入下图所示页面,这里显示的就是gitabl-ci.yml文件的配置状态
如果status为通过,即可上传文件查看自动更新流程,自动更新执行日志在本目录下Jobs选项,如下图所示