首页 新闻 会员 周边 捐助

gitlab流水线运行报错

0
悬赏园豆:30 [已解决问题] 解决于 2023-07-06 16:01



问题补充:

这个是在Linux服务器上,Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-73-generic x86_64)

陌离~的主页 陌离~ | 初学一级 | 园豆:61
提问于:2023-07-05 14:25
< >
分享
最佳答案
0

runner 配置的有问题,服务器上找不到私钥文件

https://docs.gitlab.com/runner/executors/ssh.html

收获园豆:30
往往m | 菜鸟二级 |园豆:232 | 2023-07-05 15:08


这是我服务器上的文件夹,里面有私钥,我在配置runner的时候,地址是一致的

陌离~ | 园豆:61 (初学一级) | 2023-07-05 15:45

@陌离~: 那估计是权限的问题,runner执行时用户是bg_admin吗

往往m | 园豆:232 (菜鸟二级) | 2023-07-05 15:48

@往往m: 对的

权限还要改吗

陌离~ | 园豆:61 (初学一级) | 2023-07-05 15:50

@陌离~: 你gitlab runner是用什么用户执行的?如果是root用户看下 /etc/gitlab-runner/config.toml,如果不是root用户 看下 ~/.gitlab-runner/config.toml

往往m | 园豆:232 (菜鸟二级) | 2023-07-05 15:56

@往往m: 就是说在服务器上需要安装gitlab-runner?我是在本机上安装的gitlab-runner

陌离~ | 园豆:61 (初学一级) | 2023-07-05 16:06

@陌离~: 哦 我明白了,你在本地装了gitlab-runner然后你有把密钥路径指定成服务器上面密钥所在的路径,你本地runner执行的时候怎么能拿到你服务器上面的文件呢?

往往m | 园豆:232 (菜鸟二级) | 2023-07-05 16:14

@往往m: 对,搞他喵2天愣是卡在这

陌离~ | 园豆:61 (初学一级) | 2023-07-05 16:21

@往往m: 服务器上的gitlab-runner文件夹打不开,我改权限也改不了

陌离~ | 园豆:61 (初学一级) | 2023-07-05 16:25

@陌离~: config.toml

[[runners]]
  executor = "ssh"
  [runners.ssh]
    host = "example.com"  这是你要连的服务器的地址
    port = "22" 服务器端口
    user = "root" 用这个用户去连服务器
    password = "password"  用户密码
    identity_file = "/path/to/identity/file" 或者用户密钥

runner根据这个文件,连接服务器执行操作

往往m | 园豆:232 (菜鸟二级) | 2023-07-05 16:27

不用装在服务器上,在本地你配置好也行

往往m | 园豆:232 (菜鸟二级) | 2023-07-05 16:28

@往往m: 这给最后那个我直接放的文件路径

陌离~ | 园豆:61 (初学一级) | 2023-07-05 16:33

@往往m: 我向服务器发送的是私钥,服务器拿公钥还是私钥验证啊,我感觉会不会是我验证的也不对

陌离~ | 园豆:61 (初学一级) | 2023-07-05 17:58

@陌离~: 公钥私钥是一对的,不同场景用法不一样。

第一种:服务器保存公钥,你的电脑上保存私钥。你把公钥给别的服务器,你就能连上其他的服务器,适合你控制多台服务器的场景。
第二种:服务器保存私钥,你的电脑上保存公钥。你把公钥给别人别人就能连上服务器,适合多个人控制一台服务器的场景。

往往m | 园豆:232 (菜鸟二级) | 2023-07-06 09:22

@往往m: 密钥搞好了,它又说
说找不到这个文件夹,这个root用户就不对,我的用户是bj_admin,这个怎么改掉啊

陌离~ | 园豆:61 (初学一级) | 2023-07-06 10:56

@往往m: 我用管理员命令进入这个文件夹发现的确没有这个文件
我需要在这里面重新建立文件夹吗,可我通过查资料发现这个文件夹是自动建立的

陌离~ | 园豆:61 (初学一级) | 2023-07-06 10:59

@陌离~: 你runner运行在哪个机器上?找到runner的配置文件发出来看看

往往m | 园豆:232 (菜鸟二级) | 2023-07-06 11:04

@往往m:
在Linux服务器上

陌离~ | 园豆:61 (初学一级) | 2023-07-06 11:06

@陌离~: 有密码可以把identity_file去掉

往往m | 园豆:232 (菜鸟二级) | 2023-07-06 11:09

@往往m: 好的,我试试

陌离~ | 园豆:61 (初学一级) | 2023-07-06 11:14

@往往m: 去掉之后,报错信息还是上面的没有这个/root/.ssh/known_hosts文件

陌离~ | 园豆:61 (初学一级) | 2023-07-06 11:15

@陌离~: 在runner所在服务器上手动ssh连2.218一次

往往m | 园豆:232 (菜鸟二级) | 2023-07-06 11:21

@往往m:
需要输入密码,输入之后才可以连接

陌离~ | 园豆:61 (初学一级) | 2023-07-06 11:24

@陌离~: 再跑一遍job,应该可以了

往往m | 园豆:232 (菜鸟二级) | 2023-07-06 11:25

@往往m:
变成这个了,这个是环境的问题好像

陌离~ | 园豆:61 (初学一级) | 2023-07-06 11:27

@往往m: 大佬,这个说仓库克隆地址无法连接,而且无法替换成新的地址怎么办啊?

陌离~ | 园豆:61 (初学一级) | 2023-07-06 16:01

@陌离~: clone前先执行ping 或者telnet看看 估计是网络不通

往往m | 园豆:232 (菜鸟二级) | 2023-07-06 16:06

@往往m: 对,直接就是请求超时

陌离~ | 园豆:61 (初学一级) | 2023-07-06 16:08

@往往m: 然后把ip换成我这边gitlab的ip就可以克隆,但是服务器上改不掉克隆地址

陌离~ | 园豆:61 (初学一级) | 2023-07-06 16:09

@往往m:
就像这样,我gitlab的ip是192.168.2.218,把克隆地址的ip换成这个就可以克隆

陌离~ | 园豆:61 (初学一级) | 2023-07-06 16:11

@陌离~: clone地址不是你在gitlab_ci.yml文件配置的吗?你改下不就行了

往往m | 园豆:232 (菜鸟二级) | 2023-07-06 16:17

@往往m:
我这么写好像不行,它还是使用的原来的地址

陌离~ | 园豆:61 (初学一级) | 2023-07-06 16:31

@陌离~: 你这容器里有git命令吗?

往往m | 园豆:232 (菜鸟二级) | 2023-07-06 16:33

@往往m: 额,好像没有,我是想让它可以在Linux上进行编译

陌离~ | 园豆:61 (初学一级) | 2023-07-06 16:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册