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

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

整理最近搭建gitlab的ci/cd流程,方便自己以后使用,本文只记录服务器端,关于gitlab服务器搭建,以及windows端runner实现会在其他博客中说明,通俗易懂部分不做说明

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

1.runner部署完成,提交代码.CI/CD流水中出现相应的任务,但一直在执行中(卡在pedding状态),这个问题遇到两种情况
(1)在流水任务中显示pendding状态,并且有提示stuck,点进去后显示没有该项目指定的tag存在,请,检查你的gitlab-ci.yml配置中指定执行该任务的的runnner与注册runner名称是否一致
(2)没有任何提示,只是一直显示pendding状态,删掉runner重新注册,问题解决
2.执行失败
查看是否已将文件所有者改为gitlab-runner

准备工作

1.从仓库中把项目拉下来
2.在gitlab创建一个runner用户
3.在代码中写好.gitlab-ci.yml中配置

.gitlab-ci.yml简要说明

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

stages:
    - build
job1:             
  stage: build
  tags:
    - master     //指定由哪个runner运行
  script:
    # 打开到项目目录
    - cd /www/wwwroot/yyy
    #更新对应分支代码
    - git pull origin master
   
  only:
    # 只有master分支才执行
    - master
    
job2:
  stage: build
  tags:
    - test
  script:
    # 打开到项目目录
   - cd /www/wwwroot/xxx
    - git pull origin test
  only:
    # 只有test分支才执行测试
    - test

1.线上环境安装git

yum -y install git

2.安装runner

 curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash

yum install gitlab-ci-multi-runner

3.注册runner

gitlab-ci-multi-runner register

在注册是需要填写一些必要信息,信息如下
1.项目地址
2.项目token
3.runner的描述(本人作为备注来使用一般记录xx服务器yy项目zz环境)
4.runner标签(在只有一个环境时不需要在意此处,当有多个环境a,b,c时每个环境需要有一个tag标签,用于当某个分支更新时去执行哪个runner,下面会做简单说明)
5.是否运行在没有tag的build上面,根据情况选择true或false
6.是否锁定runner到当前项目(这里我没用感受过直接的效果直接选择true)
7.选择执行器,有很多种选择,根据具体情况,我在linux上直接部署的选择shell,在windows选择powershell

4.查看runner状态,并运行

gitlab-ci-multi-runner verify    #查看状态
gitlab-ci-multi-runner run       #运行runner

5.修改文件所有者

chown -hR gitlab-runner:gitlab-runner /yyy/xxx

6.切换到gitlab-runner用户

su gitlab-runner

7.配置git

git config --global user.email "runner@qq.com"
git config --global user.name "gitlab-runner"

8.生成ssh

    1  mkdir  ~/.ssh
    2  cd   ~/.ssh
    3  ssh-keygen
    4  cd /home/gitlab-runner/.ssh/
    5  cat id_rsa.pub

获取gitlab-runner的ssh并更新到gitlab服务器中

此时配置已完成,提交本地代码,在gitlab中查看ci/cd流水查看执行情况,测试功能是否实现即可

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值