我正在执行一个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.
答案 0 :(得分:0)
这不是Terraform或Jenkins问题,而是Git身份验证问题。
Git存储库地址的ssh
部分表明您需要配置SSH密钥对才能访问该存储库。您将需要在Git存储库和Jenkins服务器上进行配置。有关更多信息,请参见Gitlab docs。
现在,如果该回购是公开的,则可以放弃SSH配置,并切换Git回购URL以使用HTTPS。例如:
https://gitlab.com/****/terraform-modules.git
如果您担心安全性,可以始终在Gitlab服务器前放置防火墙,并仅限制对Jenkins服务器的访问。
希望这会有所帮助!