gitlab的CICD

在这里插入图片描述
使用Gitlab CI/CD分为三步:

  • 安装Runner
  • 注册Runner
  • 编写流水线脚本
1、客户端安装runner
  • 安装文档:https://docs.gitlab.com/runner/install/
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
yum install gitlab-runner


# docker 安装
docker run -d --name gitlab-runner --restart always -v /srv/gitlab-runner/config:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-runner:latest
  • 官方源国内很慢,不一定下的了,可以配个清华源

vi /etc/yum.repos.d/runner.repo
[gitlab-runner]
name=gitlab-runner
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/yum/el$releasever-$basearch/
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key

yum install  -y gitlab-runner

runner注册到gitlab
# 交互
gitlab-runner register

步骤描述:
1. 输入gitlab访问地址,例如http://gitlab.ctnrs.com
2. 输入token(从管理中心->概述->Runner获取)
3. 输入描述
4. 输入标签,流水线脚本根据标签来使用runner,如果多个,例如web,deploy
5. 输入executor,这个是要用什么方式来执行脚本,输入shell

# 免交互
gitlab-runner register \
--non-interactive \
--executor "shell" \
--url "http://gitlab.ctnrs.com" \
--registration-token "2JEjhGn7Uigbv7vbiGAP" \
--description "test1" \
--tag-list "build,deploy" \
--run-untagged="true" \
--locked="false"

# 参数解释
--non-interactive:免交互,交互式默认runner状态是锁定的
--executor:指定为shell执行器
--url:gitlab服务器域名,可通过Gitlab的配置文件修改域名,注意无dns,需要配置hosts
--registration-token:注册token,获取见下图
--description:runner的介绍
--tag-list:给这个runner打标签
--run-untagged:是否运行无标签的脚本
--locked:是否锁定runner

在这里插入图片描述

[root@k2 ~]# gitlab-runner register \
> --non-interactive \
> --executor "shell" \
> --url "http://gitlab.ctnrs.com" \
> --registration-token "2JEjhGn7Uigbv7vbiGAP" \
> --description "test1" \
> --tag-list "build" \
> --run-untagged="true" \
> --locked="false"
Runtime platform                                    arch=amd64 os=linux pid=17038 revision=e91107dd version=14.5.2
Running in system-mode.                            
                                                   
Registering runner... succeeded                     runner=2JEjhGn7
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded! 

  • 刷新gitlab仓库

在这里插入图片描述

编写流水线脚本

1、脚本编写,在项目分支根根目录编写
在这里插入图片描述

# 脚本编写
stages:
- build
- test
- deploy
one:
  stage: build
  tags:
  - build
  script:
  - echo "代码编译..."
two:
  stage: test
  tags: 
  - build
  script:
  - echo "测试代码..."
three:
  stage: deploy
  tags: 
  - build
  script:
  - echo "部署项目..."
  - scp index.html root@192.168.112.53:/root/nginx

# 配置格式解释
• stages:自动化执行步骤,从上至下一次执行,错误停止
• stage:具体执行job,命名应该在stages步骤中,否则不会执行
• tags:runner标签,通过标签指定到哪个runner主机执行
• script:因为是shell执行器,所以这里写执行的shell命令,执行多个命令,按格式换行写即可
• 最后一步scp还需要runner主机与目标主
机配置免交互认证,以项目分支根目录为相对路径
当有新代码提交时,就会自动发布执行脚本

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 默认使用gitlab-runner用户执行脚本,自己可以在脚本中打印$USER就知道,需要使用gitlab-runner用户与目标主机做免密
    在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值