当前位置: 首页 > news >正文

gitlab-runner搭建CI/CD

1. 背景

每次发布代码,需要连接服务器更新代码,进行部署,比较繁琐,浪费时间。方案有jenkins或gitlab-runner。由于代码仓库是gitlab并且只需要自动部署,不需要其他额外功能,这里选择使用gitlab-runner。

2. 升级git(重要!!!)

centos默认yum安装的git版本是1.8.3.1, 现在git最新版本已经是2.39.0。使用老版本gitlab-runner后续重复构建会出现问题,安装gitlab-runner前,要将git进行升级。

  1. 离线安装
# linux版本git下载地址
https://www.kernel.org/pub/software/scm/git/git-2.39.0.tar.gz
# 将文件下载到linux服务器中, 可以是其他目录, 随意
cd /user/local/
wget https://www.kernel.org/pub/software/scm/git/git-2.39.0.tar.gz
# 解压文件
tar -zxvf git-2.39.0.tar.gz
# 安装编译环境
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

# 安装编译环境时, 会自动安装1.8.3.1版本git, 这里需要卸载一下
yum remove git

# 编译
cd git-2.39.0
make prefix=/opt/git all

# 安装
make prefix=/opt/git install
# 安装成功后, 可以看到/opt/git有以下文件
cd /opt/git
ls
# bin  libexec  share
vim /etc/profile

# 文件最下方添加
export GIT_HOME=/opt/git
export PATH=$GIT_HOME/bin:$PATH

# 刷新配置文件
source /etc/profile
# 查看版本
git --version
# git version 2.39.0

2. 安装gitlab-runner

2.1 版本选择

gitlab-runner版本最好和gitlab版本一致、活接近。否则会有版本兼容问题

  1. gitlab版本查看方式
    • 在gitlab中的help可以看到, 如下图
      在这里插入图片描述2. 下载gitlab-runner
    • (centos)下载地址使用清华云镜像: https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/yum/el7/
    1. 选择版本为12.4.1
  2. 安装
    -命令: sudo yum install gitlab-runner-12.4.1-1.x86_64.rpm

2.2. 注册gitlab-runner

  1. 必备信息获取(ur、runner)

    • 进入仓库目录,在settings中打开CICD, 找到Runners
      在这里插入图片描述

    • 点击expand,展开runners可以看到url和token, 复制备用
      在这里插入图片描述

  2. 开始注册

    1. 输入命令: sudo gitlab-runner register

    2. 根据提示输入上面获取的url和token
      在这里插入图片描述

    3. 后面继续输入描述信息, tag, 执行器, 执行器选择shell
      在这里插入图片描述

    4. 至此, 注册成功, 在url和token获取处, 可以看到注册成功的gitlab-runner
      在这里插入图片描述

3. gitlab-ci.yml配置文件

在项目根目录下创建.gitlab-ci.yml文件, gitpush后,gitlab会自动识别该配置文件进行执行脚本,举例如下

1. 配置文件示例

#构建阶段
stages:
  - cloneCode
  - run
# 执行gitlab-runner克隆代码存放位置
variables:
  GIT_CLONE_PATH: /home/gitlab-runner/builds/backend
# 第一个stage
cloneCode:
  when: manual # 手动触发, 不加该节点,提交代码会自动触发任务
  stage: cloneCode
  tags:
    - 'soybean'
  script: # 该下面可写shell脚本
    - echo "代码更新成功"
# 第二个stage
run:
  when: manual # 手动触发
  stage: run
  tags:
    - 'soybean'
  script:
    - ls
    - nohup python3 /home/gitlab-runner/builds/backend/backend/run.py runserver >> soybean.log 2>&1 &
    - echo "启动成功"
    

2. 指定gitlab-runner克隆代码存放位置

  1. 修改gitlab-runner配置文件
cd /etc/gitlab-runner/
vim config.toml

# 在该文件中添加enabled = true, 如下图

在这里插入图片描述

3. .gitlab-ci.yml存放位置

在项目主目录下

4. 完成

1. 效果演示

提交代码后, 效果如下, skipped是因为加了手动执行, 提交代码回会显示跳过
在这里插入图片描述

2. 手动触发

  1. 新建工作计划
    在这里插入图片描述
  2. 执行
    在这里插入图片描述

相关文章:

  • 手机网速慢怎么办/seo公司怎么样
  • 南昌手机网站建设/网页优化方案
  • 怎么样让网站快速收录/郑州网站建设方案优化
  • 网站推广途径方法/短期培训学什么好
  • 有哪些网站可以自己做加视频/网络营销策划方案格式
  • 永久免费网站怎么建/seo推广需要多少钱
  • 图的关键路径(AOE网络)
  • MacOS Docker 安装和运行原理
  • 蓝桥杯:城邦
  • 论文投稿指南——中文核心期刊推荐(能源与动力工程)
  • 第12届蓝桥杯青少年国赛C++中级组编程题(共6题)
  • 一个 go-sql-driver 的离奇 bug
  • GPS数据处理
  • 高并发系统设计 --热点key问题解决
  • 基于乾坤的微前端+SpringBoot2.7整套解决方案的基础通用平台及组件
  • PointNet.pytorch点云三维深度学习论文与代码复现
  • kafka心得记录
  • 1.3 PCIe——硬件实现架构