簡體   English   中英

將 jenkins 機密文件傳遞給 docker 映像運行

[英]Passing jenkins secrets file to docker image run

我正在構建一個 Jenkins 管道,我在我的存儲庫中有一個構建圖像,並且我已經上傳了一個我需要提供給我的構建作業的秘密文件到 Jenkins 憑據作為一個秘密文件。 我需要將此文件復制到 docker 運行命令的工作目錄中,該命令在構建器映像上運行命令。 我正在使用它來檢索文件作為 env 變量:

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

關於在運行 docker 映像時如何使該文件在容器內可用的任何想法?

如果您想在 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'
                }
            }
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM