【问题标题】:Passing jenkins secrets file to docker image run将 jenkins 机密文件传递给 docker image run
【发布时间】:2020-12-07 20:20:48
【问题描述】:

我正在构建一个 Jenkins 管道,我的存储库中有一个构建映像,并且我已经上传了一个秘密文件,我需要将它提供给我的构建作业到 Jenkins 凭据作为一个秘密文件。我需要将此文件复制到 docker run 命令的工作目录,该命令在构建器映像上运行命令。 我正在使用它来检索文件作为环境变量:

withCredentials([
        file(credentialsId: 'keystore', variable: 'KEYSTORE'), {
          try {
            docker run parameters ${image}  -e ${KEYSTORE} command...
         }

关于在运行 docker 映像时如何使该文件在容器内可用的任何想法?

【问题讨论】:

    标签: docker jenkins


    【解决方案1】:

    如果您想在 docker 容器中获取凭证文件,您还需要对其进行卷挂载。

    docker run parameters ${image} -e ${KEYSTORE} -v ${KEYSTORE}:${KEYSTORE}:ro
    

    如果您使用内置的 docker 支持,jenkins 会处理这个问题:

    pipeline {
        agent {
            dockerfile {
                dir 'build'
            }
        }
    
        stages {
            stage('Build') {
                steps {
                    withCredentials([file(credentialsId: 'keystore', variable: 'KEYSTORE')]) {
                        sh 'ls -l'
                    }
                }
            }
        }
    }
    
    

    【讨论】:

      猜你喜欢
      • 2020-02-17
      • 2021-10-03
      • 2021-09-09
      • 2019-05-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-21
      • 1970-01-01
      • 2022-01-03
      相关资源
      最近更新 更多