CICD注册和使用gitlab-runner常见问题

1、现象
fatal: unable to access 'https://github.com/homebrew/brew/':

2、解决

git config --global --unset http.proxy

git config --global --unset https.proxy

查看gitlab-runner是否成功:

user@users-MacBook-Pro ~ % gitlab-runner -h  

查看gitlab-runner状态:

user@users-MacBook-Pro ~ % ps -ef | grep gitlab-runner

  501  3658  3081   0  4:36PM ttys004    0:00.00 grep gitlab-runner

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/yum/el7/gitlab-runner-15.8.1-1.x86_64.rpm

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/yum/el7/gitlab-runner-15.0.0-1.x86_64.rpm

yum -y install gitlab-runner-15.0.0-1.x86_64.rpm

#查看运行状态

systemctl status gitlab-runner

                        

Gitlab runner安装和使用-CSDN博客

安装runner
  sudo curl --output /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-darwin-arm64"
创建runner
这个步骤需要在gitlab中进行,有三种的runner可以创建,分别是共享、组群和项目。

创建好后复制出gitlab地址和token,接下来注册时会用到。

注册runner
注册是最关键的步骤。

gitlab-runner register
然后按顺序输入内容完成创建过程:

首先输入URL,就是创建runner时复制的那个URL;
接下来输入token,就是创建runner时复制的那个token;
然后输入description,这个description可以理解为runner名,在list里会看到;
接下里就是输入最最重要的tags,这个tags在配置.gitlab-ci.yml时需要指定,不然会导致runner无法将修改提交给CI流水线;
然后让输入一个note,直接按enter跳过即可;
最后让选择executor,由于是在mac中,输入shell即可。
不出意外就会在本机成功创建出一个runner。


运行runner
gitlab-runner restart
gitlab-runner run
如果restart失败了不用管,继续run即可

启动gitlab-runner和关闭gitlab-runner ,查看gitlab-runner不同的状态

三、gitlab-runner设置用户为root
第二步安装gitlab-runner是会默认安装一个gitlab-runner用户,CI运行期间,会出现一些权限不足的问题,所以将gitlab-runner的默认用户设为root

卸载掉gitlab-runner默认用户
sudo gitlab-runner uninstall

首先通过 sudo su -把账户切换到root账户,这样才能执行下面的命令

重新安装gitlab-runner并将用户设置为root
gitlab-runner install --working-directory /home/gitlab-runner --user root

重启gitlab-runner
sudo service gitlab-runner restart
第3步执行完后,gitlab-runner已经开始运行,不需要手动运行。
 

ubuntu搭建gitlab-runnner:

Ubuntu搭建gitlab-Ci教程_gitlab runner ubuntu-CSDN博客

gitlab-runner注册成功,验证相关文件

1./Users/user/Library/LaunchAgents  路径下会有gitlab-runner.plist文件

2. ps -ef | grep gitlab-runner 查看 config.toml 所在路径

user@users-MacBook-Pro LaunchAgents % ps -ef | grep gitlab-runner

  501 13477     1   0 Fri10AM ??         1:38.56 gitlab-runner run

  501 51729     1   0  4:28PM ??         0:40.77 /usr/local/bin/gitlab-runner run --working-directory /Users/user --config /Users/user/.gitlab-runner/config.toml --service gitlab-runner --syslog

  501 69890 53079   0 10:51AM ttys003    0:00.00 grep gitlab-runner

3. config.toml 文件包含了注册时填写的相关信息

user@users-MacBook-Pro .gitlab-runner % pwd

/Users/user/.gitlab-runner

user@users-MacBook-Pro .gitlab-runner % ls

config.toml

user@users-MacBook-Pro .gitlab-runner % cat config.toml

concurrent = 1

check_interval = 0

shutdown_timeout = 0

[session_server]

  session_timeout = 1800

[[runners]]

  name = "TCOE"

  url = "https://gitlab.prod-ss.welabts.net/"

  id = 89

  token = "fjbuxz-fCiPnqePg57aF"

  token_obtained_at = 2024-02-05T06:39:52Z

  token_expires_at = 0001-01-01T00:00:00Z

  executor = "shell"

  [runners.cache]

    MaxUploadedArchiveSize = 0

user@users-MacBook-Pro .gitlab-runner %

如果pipline出现pengding的情况

并且有下面的报错信息

This job is stuck because of one of the following problems. There are no active runners online, no runners for the protected branch, or no runners that match all of the job's tags: build

Go to project CI settings

解决方案:

点击runner的编辑按钮,勾选下面两个选项并且保存

需要把gitlab-ci.yml中的tags都删除,这样才能正常执行

Runners can be configured with tags of your choice when you first set them up. The purpose of tags: in .gitlab-ci.yml is to say, "only use runners with these tags". For example, if you need a job to run on a specific server, or have CUDA access, or some other special environmental thing that generic runners don't have, use tags. If that's not your intention then remove tags:.

Gitlab job is stuck, no active runners, why? - Stack Overflow

安装gitlab-runner成功会在一下路径生成文件gitlab-runner.plist

Init already exists: /Users/user/Library/LaunchAgents/gitlab-runner.plist

gitlab-runner 启动报错

FATAL: Failed to start gitlab-runner: "launchctl" failed with stderr: Load failed: 5: Input/output error

Try running `launchctl bootstrap` as root for richer errors.

可以使用 launchctl start gitlab-runner启动

user@users-MacBook-Pro ~ % launchctl start gitlab-runner

user@users-MacBook-Pro ~ % launchctl status gitlab-runner

ps -ef | grep gitlab-runner 查看gitlab-runner进程

在 Gitlab CI 中,Runner 是 Job 的执行器, 也就是说 Job 的运行环境, 就是 Runner 的环境。

怎么将同一个 gitlab ci 中的 Job 运行在不同的 Runner 上

例如, 根据 操作系统 区分, job1 运行在 windows 上, job2 运行在 linux 上, 诸如此类。

使用 TAG 指定 runner

其实很简单, gitlab ci 中, 可以通过指定 tags 来设定运行条件, 满足了 tag 才能被执行。

ci 中的 tags 和可以和 runner 中的 tags 进行匹配

.gitlab-ci.yml

.gitlab-ci.yml 文件如下, 定义了一个 tar stage , 下面有 三个 job 分别对应 三个 runner 的编译和打包环境。

注意, 这里使用的是 Runner 的 TAG ,不是 Runner 的名字


stages:
  - tar

# .gitlab-ci.yml
tar.ivs:
  stage: tar
  script:
    - /bin/bash ivs-1800-matrix-build.sh
  tags:
    - neuron-arm64 # 执行 ivs 的runner

tar.3519a:
  stage: tar
  script:
    - /bin/bash hisi-3519a-build.sh
  tags:
    - 3519A  # 执行 3519a 的 runner


tar.atlas:
  stage: tar
  script:
    - /bin/bash atlas-500-matrix-build.sh
  tags:
    - edge # 执行 atlas 的 runner

Mvn命令行报错解决方案

Gitlab CI/CD runner : mvn command not found | 易学教程

https://www.e-learn.cn/topic/2237630

I notice that I tried to fix the problem by adding the before_script section in the .gitlab-ci.yml file :
before_script:    
- export MAVEN_HOME=/usr/local/apache-maven

I add also the line :
environment = ["MAVEN_HOME=/usr/local/apache-maven"]
on the config.toml file.

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/252487.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Google Chrome Close AutoUpdate

DOMException: play() failed because the user didn‘t interact with the document first.-CSDN博客 html5 audio video-CSDN博客 Google Chrome Close AutoUpdate 关闭google浏览器自动更新 1:检查是否已安装google浏览器,并卸载: 2&…

RabbitMQ 安装

下载erlang语言: erlang语言 下载RabbitMQ rabbitmq 安装erlang 1.以管理员身份安装erlang 2.弹出框选择next 3.选择安装路径,亦可以安装在默认路径 4.接下来一路点击下一步,无需任何修改,直到 install安装为止&#xff…

Intellij Idea的数据库工具 DataGrip

DataGrip DataGrip: IDEA自带,非常好用。智能提示很强大,快捷键跟IDEA自身一致。 如果下载不了 DataGrip,也可以直接用 IDEA 自带的。 常用的快捷键 alt8: 打开数据库Service ctrlshiftF10:打开常用的数…

Elasticsearch:BM25 及 使用 Elasticsearch 和 LangChain 的自查询检索器

本工作簿演示了 Elasticsearch 的自查询检索器将非结构化查询转换为结构化查询的示例,我们将其用于 BM25 示例。 在这个例子中: 我们将摄取 LangChain 之外的电影样本数据集自定义 ElasticsearchStore 中的检索策略以仅使用 BM25使用自查询检索将问题转…

我的世界Java版服务器如何搭建并实现与好友远程联机Minecarft教程

文章目录 1. 安装JAVA2. MCSManager安装3.局域网访问MCSM4.创建我的世界服务器5.局域网联机测试6.安装cpolar内网穿透7. 配置公网访问地址8.远程联机测试9. 配置固定远程联机端口地址9.1 保留一个固定tcp地址9.2 配置固定公网TCP地址9.3 使用固定公网地址远程联机 本教程主要介…

Three.js学习6:透视相机和正交相机

一、相机 相机 camera,可以理解为摄像机。在拍影视剧的时候,最终用户看到的画面都是相机拍出来的内容。 Three.js 里,相机 camera 里的内容就是用户能看到的内容。从这个角度来看,相机其实就是用户的视野,就像用户的眼…

【力扣】Z字形变换,模拟+直接构造

Z字形变换原题地址 方法一:利用二维矩阵模拟 对于特殊情况,z字形变换后只有一行或只有一列,则变换后的字符串和原字符串相同。 对于一般情况,我们可以考虑按照题目要求,把字符串按照Z字形存储到二维数组中&#xff…

Django模板(一)

一、基本规则 作为一个Web框架,Django需要一种方便的方式来动态生成HTML。最常用的方法依赖于模板。模板包含所需HTML输出的静态部分以及描述如何插入动态内容的特殊语法 1.1、django默认模板 在settings中配置: TEMPLATES = [{BACKEND: django.template.backends.django.…

车位检测,YOLOV8,OPENCV调用

车位检测YOLOV8NANO,opencv调用 车位检测,YOLOV8NANO,训练得到PT模型,然后转换成ONNX,OPENCV的DNN调用,支持C,PYTHON,ANDROID

QXlsx Qt操作excel

QXlsx 是一个用于处理Excel文件的开源C库。它允许你在你的C应用程序中读取和写入Microsoft Excel文件(.xlsx格式)。该库支持多种操作,包括创建新的工作簿、读取和写入单元格数据、格式化单元格、以及其他与Excel文件相关的功能。 支持跨平台…

Mysql索引优化建议

1,最左前缀法则 如果为一张表创建了多列的组合索引,要遵守最左前缀法则。就是指查询从索引的最左前列开始并且不要跳过索引中的列。(因为Mysql的InnoDB引擎的索引树是一个按顺利排序存储的数据结构(BTREE)&#xff0c…

第01课:自动驾驶概述

文章目录 1、无人驾驶行业概述什么是无人驾驶智慧出行大趋势无人驾驶能解决什么问题行业趋势无人驾驶的发展历程探索阶段(2004年以前)发展阶段(2004年-2016年)成熟阶段(2016年以后) 2、无人驾驶技术路径无人…

uniapp canvas游标卡尺效果

效果 根据公司业务仿照写的效果。原项目从微信小程序转uniapp,未测试该效果在android端效果。 uniapp直接使用canvas不可做子组件,否则无效果显示,其次显示时要考虑页面渲染超时的问题。 如效果所见,可以设置取值精度。 gitee地址:project_practice: 项目练习 - Gitee.…

【LangChain-04】利用权重和偏差跟踪和检查LangChain代理的提示

利用权重和偏差跟踪和检查LangChain代理的提示 一、说明 考虑到(生成)人工智能空间,(自主)代理现在无处不在!除了更强大且幸运的是开放的大型语言模型(LLM)之外,LangCh…

宝塔+php+ssh+vscode+虚拟机 远程调试

远程(虚拟机)宝塔 安装扩展 配置文件添加,zend_extension看你虚拟机的具体位置 [Xdebug] zend_extension/www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/xdebug.so xdebug.modedebug xdebug.start_with_requesttrigger xdebug.client_host&quo…

Dockerfile文件参数配置和使用

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

Qt安装配置教程windows版(亲测可行)

QT为嵌入式系统提供了大量的库和可重用组件。 WPS Office,咪咕音乐,Linux桌面环境等都是QT开发的。 下载 windows版Qt下载地址 也可下载5.9.0或者5.12.0版的 安装 选择安装位置(不可以是中文)点击下一步。 下个步骤是协议&…

SpringBoot:@Profile注解和Spring EL

🏡浩泽学编程:个人主页 🔥 推荐专栏:《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》 🛸学无止境,不骄不躁,知行合一 文章目录 前言一、Prof…

GLSL ES 1.0

GLSL ES 概述 写在前面 程序是大小写敏感的每一个语句都应该以英文分号结束一个shader必须包含一个main函数,该函数不接受任何参数,并且返回voidvoid main() { }数据值类型 GLSL支持三种数据类型: 整型浮点型:必须包含小数点&…

【大模型上下文长度扩展】FlashAttention:高效注意力计算的新纪元

FlashAttention:高效注意力计算的新纪元 核心思想核心操作融合,减少高内存读写成本分块计算(Tiling),避免存储一次性整个矩阵块稀疏注意力,处理长序列时的效率问题利用快速 SRAM,处理内存与计算…