IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> GitlabCICD(5)在.gitlab-ci.yml文件的步骤中使用git clone 另一个代码仓报错的解决办法 -> 正文阅读

[开发工具]GitlabCICD(5)在.gitlab-ci.yml文件的步骤中使用git clone 另一个代码仓报错的解决办法

GitlabCICD(1)安装部署gitlab(CentOS7系统)

GitlabCICD(2)安装部署gitlab(Docker方式)

GitlabCICD(3)安装Gitlab Runner

GitlabCICD(4)卸载Gitlab Runner

GitlabCICD(5)在.gitlab-ci.yml文件的步骤中使用git clone 另一个代码仓报错的解决办法

一、背景

在有些时候,比如在一个项目中,产品的代码是java代码仓,自动化测试脚本是python语言,单独存放的代码仓,在使用GitlabCICD构建流水线的时候有这样一种场景,比如对产品的java代码进行了编译打包部署,这个时候想在java代码仓的.gitlab-ci.yml中继续使用git clone python自动化脚本代码仓,这样虽然自动化测试脚本单独存放代码仓,却可以很好的集成到java产品代码仓的流水线中,执行完自动化测试后还能将测试结果上传到java产品的代码仓,从而达到完整的有机整体

但是在实际操作中,在执行git clone xxx的时候报如下错误

$ git clone git@xxxxxt.git
Cloning into 'summer_ospp_autotest'...
Host key verification failed.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

当然gitlabCICD流水线支持java代码仓触发python代码仓的trigger的方式,但是不能很好的将自动化用例的通过与否反馈到java代码仓中

二、原因分析

(1)手工的方式使用root用户登录gitlab-runner的虚拟机,然后执行git clone的方式是可以下载代码的(因为已经在gitlab上配置了公钥)
(2)GitLabCICD流水线执行的方式跟手工的方式几乎完全一样,不同的是gitlab流水线执行的时候是使用gitlab-runner的用户登录的

是的,gitlab流水线执行git clone失败的原因就是因为用户不同的原因,因为gitlab-runner用户是没有权限访问root用户的.ssh目录下的文件的

三、解决方案

(1)将root用户的 .ssh 文件下的所有文件都拷贝到 gitlab-runner用户下

cp /root/.ssh/* /home/gitlab-runner/.ssh/

(2)查看 gitlab-runner 用户下的 .ssh 文件下的文件的所属者及所属组,发现此时仍然属于root用户和root用户组

ls -la /home/gitlab-runner/.ssh

(3)将 gitlab-runner 用户下的 .ssh 文件下的所有文件的所属者和所属组都划分给gitlab-runner

chown gitlab-runner /home/gitlab-runner/.ssh/*

chgrp gitlab-runner /home/gitlab-runner/.ssh/*

(4)再次查看,如下,表示已经OK了

[root@honghua-centos-02 ~]# ls -la /home/gitlab-runner/.ssh
total 12
drwx------  2 gitlab-runner gitlab-runner   57 Nov 25 16:06 .
drwx------ 10 gitlab-runner gitlab-runner  165 Nov 25 15:55 ..
-rw-------  1 gitlab-runner gitlab-runner 1679 Nov 25 16:06 id_rsa
-rw-r--r--  1 gitlab-runner gitlab-runner  400 Nov 25 16:06 id_rsa.pub
-rw-r--r--  1 gitlab-runner gitlab-runner  372 Nov 25 17:25 known_hosts

(5)再次触发gitlab流水线,此时即可以在.gitlab-ci.yml中使用git clone 的方式下载子库的代码了

如下即为一个java代码仓的.gitlab-ci.yml中的测试步骤,去自动化测试脚本仓下载代码,然后执行用例,执行完成后将自动化结果上传到java代码仓的流水线,如此就能很好的做到开发人员提交代码后即能看到用例通过情况
在这里插入图片描述

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-11-26 09:03:29  更:2021-11-26 09:03:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 18:19:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码