You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jenkins中使用credentials()助手读取密钥文件内容?

读取Jenkins文件类凭据内容到环境变量

你可以按以下步骤获取.pem私钥文件的实际内容并存入环境变量:

  1. 通过credentials拿到文件的绝对路径
  2. 提取该路径相对于Jenkins工作区的相对路径
  3. 使用readFile读取文件内容,再存入环境变量

完整示例代码:

pipeline {
    agent any
    environment {
        // 获取私钥文件的绝对路径
        PRIVATE_KEY_FILE = credentials('private-key.pem')
    }
    stages {
        stage('Load Private Key') {
            steps {
                script {
                    // 生成相对工作区的路径
                    def relativeKeyPath = PRIVATE_KEY_FILE.replace("${env.WORKSPACE}/", "")
                    // 读取文件内容
                    def privateKeyContent = readFile(relativeKeyPath)
                    // 存入环境变量,后续步骤可直接使用env.PRIVATE_SIGNING_KEY
                    env.PRIVATE_SIGNING_KEY = privateKeyContent
                }
            }
        }
        stage('Use Private Key') {
            steps {
                // 示例:打印时Jenkins会自动屏蔽敏感内容,不会泄露私钥
                echo "Private key loaded successfully"
                // 这里可以使用私钥内容执行签名等操作
            }
        }
    }
}

说明

  • Jenkins的文件类凭据会被放在工作区下的临时目录(如@tmp/secretFiles/),所以通过替换工作区前缀就能得到readFile支持的相对路径
  • 私钥内容存入环境变量后,Jenkins会自动识别为敏感信息,在日志和控制台输出中会被屏蔽,无需担心泄露

内容的提问来源于stack exchange,提问作者Andys1814

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 19:02:40