栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Jenkins Pipeline使用podTemplate将凭证传递到容器中去

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Jenkins Pipeline使用podTemplate将凭证传递到容器中去

遇到一个问题,起因是创建了一个Jenkins Text凭证,想在Pipeline中使用
通过查阅资料发现可以通过如下方式获得凭证

pipeline {
    agent any
    environment {
        my_account = credentials('my_credential')
    }
 }

我使用的是podTemplate,这种配置方式并没有生效
通过查阅podTemplate的相关配置语法,未能找到有效的信息
语法链接: https://www.jenkins.io/zh/doc/pipeline/steps/kubernetes/
已知的是可以通过envVars完成容器环境变量的传递

除使用environment自带的方法credentials()外,又找到了另一种使用方式

withCredentials([string(credentialsId: "my_credential", variable: "MY_CREDENTIAL")]) {
    // do something with $FETCH_TOKEN
}

最终的使用方式如下,忽略部分pipeline

def my_credential = null
withCredentials([string(credentialsId: "my_credential", variable: "MY_CREDENTIAL")]) {
    my_credential = "$MY_CREDENTIAL"
}
podTemplate(
        envVars: [
            envVar(key: 'MY_CREDENTIAL', value: my_credential)
        ]
)

自己瞎研究的方式,最终实测该方案可行,如果使用错误或有其他更好的使用方式,希望指出修改

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/599662.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号