如何获得GitLab CI / CD作业以推送到外部存储库?

时间:2018-08-08 05:31:08

标签: python git gitlab gitlab-ci gitlab-ci-runner

我在让Gitlab CI / CD将新更改推送到当前存储库时遇到了问题。显然,到目前为止还无法完成。所以现在,我试图查看它是否可以推送到其他存储库。

这就是我想要做的:

  • 将另一个存储库克隆到我的存储库中
    • 让我打电话给我路由器
    • 让我们打电话给另一个 Rinner
  • 以某种方式修改 Rinner
  • 仅提交并推送对 Rinner
  • 的更改
  • 然后从路由器
  • 中删除 Rinner

我正在尝试用Python进行测试,目前有:

    os.system('mkdir temp');
    os.chdir('temp');
    os.system('git clone git@gitlab.com/path/Rinner.git');
    os.chdir('Rinner');
    os.system('echo "Hello World!" > hello.txt');
    os.system('git add -A');
    os.system('git commit -m "Running a test..."');
    os.system('git push --force');
    os.chdir('..');
    os.chdir('..');
    os.system('rm -rf temp');

在我的本地计算机上,它运行正常。

在GitLab CI / CD工作中,得到以下结果。

Cloning into 'Rinner'...
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

当它在GitLab CI / CD上运行时,如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您正在通过SSH克隆git clone git@gitlab.com/path/Rinner.git,问题是您在〜/ .ssh / known_hosts中的运行程序中存储的服务器指纹不正确

您也可以尝试ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null git@gitlab.comssh git@gitlab.com。您会有所不同。

您需要删除此指纹或禁用StrictHostKeyChecking