虚构建议使用 root 账号去安装,不然后面有些命令执行需要用到权限创建文件,不好处理
#在安装了gitlab的主机上,安装gitlab-runner
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
yum install gitlab-runner
注意:如果安装时没有指定使用 root ,那么脚本在运行时会默认使用 gitlab-runner 账号执行命令
#指定 root 账号执行脚本命令
#先查看当前runner执行命令账号
ps aux|grep gitlab-runner
#进入文件修改
vi /etc/systemd/system/gitlab-runner.service
#修改完毕后执行下面两条命令
systemctl daemon-reload
systemctl restart gitlab-runner
#注册runner
进入gitlab的项目里查看runner的url和token
位置:gitlab项目->settings->CI/CD->Runners settings
#绑定CI/CD
gitlab-runner register
#gitlab-runner部署完毕后
#gitlab服务端 ssh免密登陆项目服务端流程
#创建 ssh公钥
如果之前创建过,就可以跳过创建公钥这一步骤去执行下面的命令
ssh-keygen -t rsa -C "邮箱地址"
scp /~/.ssh/id_rsa.pub root@项目地址:/home/
#这时候会提示一堆东西,有个 yes/no 输入yes,然后输入密码登录成功
#切换到项目服务器,执行以下命令
cat /home/id_rsa.pub >> ~/.ssh/authorized_keys
#完成以上操作,就可以通过 ssh root@项目地址 进行免密登录了
#gitlab-ci/cd 执行脚本更新代码
#注意:项目服务器已经配置好git的公钥并添加到gitlab上了
#gitlab创建一个远程分支(我这里定义为production 分支名吧)
#在项目部署的服务端上,把gitlab的项目通过git拉下来,在项目里创建production分支(要与远程分支名一样)并切换使用
命令:
git clone 项目的ssh地址
git checkout production(远程分支名)
客户端(你写代码的机子):
在项目根目录创建一个 .gitlab-ci.yml 文件夹,如图
到这里,一般情况代码都会通过 CI/CD脚本,更新到项目服务端上了