Github 如何将git凭据提供给Jenkins管道步骤,以便任何shell/terraform代码都可以在运行脚本时进行git克隆

Github 如何将git凭据提供给Jenkins管道步骤,以便任何shell/terraform代码都可以在运行脚本时进行git克隆,github,jenkins-pipeline,jenkins-plugins,terraform,Github,Jenkins Pipeline,Jenkins Plugins,Terraform,我已经创建了一个Jenkins管道,它从我的git repo(main_repo)中克隆地形代码。terraform模板进一步从另一个git repo(module_repo)中提取代码模块 现在,我已经向Jenkins添加了凭据,可以通过“签出”克隆这两个git存储库。然而,当我在我的主_repo中运行“terraform init”时,我看到git clone失败了。主_repo包含在模块_repo上进行git克隆的模板。似乎git凭证没有输入到“步骤”中,以便在执行“terraform i

我已经创建了一个Jenkins管道,它从我的git repo(main_repo)中克隆地形代码。terraform模板进一步从另一个git repo(module_repo)中提取代码模块

现在,我已经向Jenkins添加了凭据,可以通过“签出”克隆这两个git存储库。然而,当我在我的主_repo中运行“terraform init”时,我看到git clone失败了。主_repo包含在模块_repo上进行git克隆的模板。似乎git凭证没有输入到“步骤”中,以便在执行“terraform init”时可以使用它们。有没有一种方法可以将凭证输入到“步骤”中,以便在代码中使用它们

以下是我的代码回购的外观:

stage/
    dev/
       /user.tf
          module "my_module" {
              source = "git::ssh://git@wwwin-github.com/my-ops/ops_user.git"
          }
第一阶段是成功的,我可以克隆回购协议。但当我在stage/dev中运行“terraform init”时,失败了。stage/dev包含一个terraform模板,该模板从模块_repo进行git克隆

我尝试在“dir”中输入git凭据,但也没有任何帮助

stage('Second') {
            steps {
                dir('stage/dev')
                        {
                   git  url: '#my moduel repo',
                        credentialsId: '#My cred',
                        branch: 'master'
                   sh 'terraform init'
                }
这看起来像是一个通用用例,有没有关于如何解决这个问题的建议


谢谢

尝试使用:
sshagent(凭证:['YourCredentialsId']){sh'terraform init'}
我无法尝试你的方法。我通过将内容复制到S3并从S3而不是git中获取信息来解决这个问题。
stage('Second') {
            steps {
                dir('stage/dev')
                        {
                   git  url: '#my moduel repo',
                        credentialsId: '#My cred',
                        branch: 'master'
                   sh 'terraform init'
                }