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

Gitlab-CI实现组件自动推送

一、安装gitlab-runner

1.1 下载gitlab-runner

#查看自己的系统
go env GOARCH#amd64下载
sudo curl --output $GOROOT/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-darwin-amd64"#arm64下载
sudo curl --output $GOROOT/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-darwin-arm64"sudo chmod +x $GOROOT/bin/gitlab-runner
cd $GOROOT/bin
gitlab-runner install
gitlab-runner start
#查看gitlab-runner是否正常启动
gitlab-runner status

通过终端下载比较慢,建议通过浏览器下载。
amd64下载地址:https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-darwin-amd64
arm64下载地址:https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-darwin-arm64

1.2 gitlab-runner注册到服务器

注册过程中要用到gitlab-ci的URL和Token
获取gitlab-ci的Token: 项目主页 -> Sttings -> CI/CD -> Runners Expand
在这里插入图片描述
注册Runner

0.---开始注册 [root@iZ2zectqga6hz17svze9jdZ ~]# gitlab-runner register
Runtime platform                                    arch=amd64 os=linux pid=18056 revision=43b2dc3d version=15.4.0
Running in system-mode.                            1--- 叫你输入服务器地址:Enter the GitLab instance URL (for example, https://gitlab.com/):
http://gitlab.cfuture.shop/   // 这里填你的服务器地址
2---叫你输入token: Enter the registration token:
6UKvXWMU69gxFFyTUyvM
3---叫你输入runner描述Enter a description for the runner:
[iZ2zectqga6hz17svze9jdZ]: seenew-ops
4---叫你输入tags的名称:Enter tags for the runner (comma-separated):
seenew-ops
5--这里照我下面写即可-Enter optional maintenance note for the runner:
runner by shell
Registering runner... succeeded                     runner=GR13489417QtPoCmD
6---这里照我下面写即可Enter an executor: custom, docker-ssh, ssh, docker+machine, kubernetes, docker, parallels, shell, virtualbox, docker-ssh+machine:
shell  // 输入shell
Runner registered successfully. // 这里提示成功了

激活Runner

gitlab-runner verify

二、通过gitlab-ci推送chart

项目内新建一个.gitlab-ci.yml文件,内容如下:

stages:- deploydeploy-job:tags:- seenew-opsstage: deployscript:- sh $GOPATH/src/seenew-ops-k8s/mdcl/mdcl-ci.sh

tags是当前Job的标记,这个tags关键字是很重要,因为gitlab的runner会通过tags去判断能否执行当前这个Job
提交代码,查看是否执行gitlab-ci
在这里插入图片描述

三、踩坑记录

3.1 job一直pending,没有Runner处理
在这里插入图片描述
● 首先考虑的是不是Runner没有激活,如果没有那么按上面方式处理
● 还可能是tag没有匹配到,Runner注册时是要填写绑定tag的,如果你在YML里面编写Job没有带上tag是不会有自定义Runner来处理。解决方法:给Job加tags
● Runner状态为stop

3.2 Runner启动报错
在这里插入图片描述
原因:安装的时候放在/usr/local/bin目录下,启动时权限不够,修改日志输出的目录。如下以我本地为例:

原因:安装的时候放在/usr/local/bin目录下,启动时权限不够,修改日志输出的目录。如下以我本地为例:

修改runner的安装地址和日志输出路径(原来是在/usr/local/bin目录)
在这里插入图片描述
修改完成后执行

launchctl unload /Users/jiangjunyu/Library/LaunchAgents/gitlab-runner.plist
launchctl load -w /Users/jiangjunyu/Library/LaunchAgents/gitlab-runner.plist
gitlab-runner stop
gitlab-runner start
gitlab-runner status
http://www.dtcms.com/a/292362.html

相关文章:

  • 常用 Flutter 命令大全:从开发到发布全流程总结
  • 检索增强型生成助力无人机精准数学推理!RAG-UAV:基于RAG的复杂算术推理方法
  • Lua语言
  • MybatisPlus-16.扩展功能-枚举处理器
  • ORACLE DATABASE 11.2.0.4 RAC Install
  • Vue-22-通过flask接口提供的数据使用plotly.js绘图(一)
  • Oracle定时清理归档日志
  • RAG(检索增强生成)里的文档管理
  • 二次供水管理系统:远程监控+智能调控+故障预警解决方案
  • 用ffmpeg 进行视频的拼接
  • 【指南】网络安全领域:HW 行动(国家网络安全攻防演练)是什么?
  • 一些Avalonia与WPF内容的对应关系和不同用法
  • 单一职责原则(SRP):构建高质量软件的基石
  • Java 并发性深度解析
  • JS WebAPIs DOM节点概述
  • 网络层传输
  • 4G车载录像机的作用详解:提升行车安全与智能管理的核心技术
  • 数字签名(Digital Signature)
  • XSS内容分享
  • Windows 环境排除 Windows Defender 对指定路径或进程的影响
  • 在vscode 使用 remote-ssh
  • 【接口自动化】掌握接口自动化:核心概念讲解(理论知识)
  • 微博视觉算法面试30问全景精解
  • 8.4 Java 原生 TCP Socket 实现 HTTP 请求解析和请求分发
  • OpenCV基本的图像处理
  • 本地数据库有数据,web页面无信息显示,可能是pymysql的版本问题【pymysql连接本地数据库新旧版本的区别】
  • 【测试开发】----用例篇
  • 高并发场景下的缓存问题与一致性解决方案(技术方案总结)
  • 设计模式——责任链模式
  • 建造者设计模式