2023年11月26日发(作者:)

关于linux搭建git-runner,实现cicd⾃动部署

关于linux搭建git-runner,实现ci/cd⾃动部署

整理最近搭建gitlab的ci/cd流程,⽅便⾃⼰以后使⽤,本⽂只记录服务器端,关于gitlab服务器搭建,以及windows端runner实现会在其他博客

中说明,通俗易懂部分不做说明

将可能遇到的问题写在前⾯

部署完成,提交代码.流⽔中出现相应的任务,但⼀直在执⾏中(卡在pedding状态),这个问题遇到两种情况

CI/CD

(1)在流⽔任务中显⽰pendding状态,并且有提⽰stuck,点进去后显⽰没有该项⽬指定的tag存在,请,检查你的配置中指定执⾏该

任务的的runnner与注册runner名称是否⼀致

(2)没有任何提⽰,只是⼀直显⽰pendding状态,删掉runner重新注册,问题解决

2.执⾏失败

查看是否已将⽂件所有者改为gitlab-runner

准备⼯作

1.从仓库中把项⽬拉下来

2.在gitlab创建⼀个runner⽤户

3.在代码中写好.中配置

.简要说明

以下为master分⽀和test分⽀分别对应正式和测试环境,当更新不同分⽀时,根据tag触发不同的runner实现相应服务器的代码更新

stages:

- build

job1:

stage: build

tags:

- master //指定由哪个runner运⾏

script:

# 打开到项⽬⽬录

- cd /www/wwwroot/yyy

#更新对应分⽀代码

- git pull origin master

3.注册runner

gitlab-ci-multi-runner register

在注册是需要填写⼀些必要信息,信息如下

1.项⽬地址

2.项⽬token

的描述(本⼈作为备注来使⽤⼀般记录xx服务器yy项⽬zz环境)

标签(在只有⼀个环境时不需要在意此处,当有多个环境a,b,c时每个环境需要有⼀个tag标签,⽤于当某个分⽀更新时去执⾏哪个

runner,下⾯会做简单说明)

5.是否运⾏在没有tag的build上⾯,根据情况选择true或false

6.是否锁定runner到当前项⽬(这⾥我没⽤感受过直接的效果直接选择true)

7.选择执⾏器,有很多种选择,根据具体情况,我在linux上直接部署的选择shell,在windows选择powershell