如何将Jenkins上的SSH用户专用传递给可用于git pull的.sh文件

时间:2018-12-12 12:54:43

标签: git ssh

我正在执行一个jenkins管道作业,该作业称为jenkins文件,在该作业中,我正在使用CredentialsBinding调用terraform.sh文件。当我运行terraform init时出现以下错误。

 Getting source "git::ssh://git@gitlab.com/****/terraform-modules.git//pre-production?ref=0.0.1"
Error downloading modules: Error loading modules: error downloading 'ssh://git@gitlab.com/****/terraform-modules.git?ref=0.0.1': /usr/bin/git exited with 128: Cloning into '.terraform/modules/515fc2bd0e7790ab33b22f826cd0173b'...
Permission denied (publickey).
fatal: Could not read from remote repository.

1 个答案:

答案 0 :(得分:0)

这不是Terraform或Jenkins问题,而是Git身份验证问题。

Git存储库地址的ssh部分表明您需要配置SSH密钥对才能访问该存储库。您将需要在Git存储库和Jenkins服务器上进行配置。有关更多信息,请参见Gitlab docs

现在,如果该回购是公开的,则可以放弃SSH配置,并切换Git回购URL以使用HTTPS。例如:

https://gitlab.com/****/terraform-modules.git

如果您担心安全性,可以始终在Gitlab服务器前放置防火墙,并仅限制对Jenkins服务器的访问。

希望这会有所帮助!