我的Jenkins框需要通过其REST API访问Stash和Jira。为此,我需要存储他们的凭据。

我正在做的事情是通过凭据参数,它要求我提供名称,凭据类型,必需,默认值和描述。

我将名称定义为CREDENTIAL_PARAMETER,将其类型设置为“带密码的用户名”,然后从“默认值”列表中选择一个凭据。

接下来在“构建”部分中,我定义应执行 shell 程序,这类似于

echo $CREDENTIAL_PARAMETER

我期望得到像“username:password”这样的东西作为CREDENTIAL_PARAMETER。但是,我得到了一个散列,我认为这是可以检索用户名和密码的方式。

如何使用bash获取基于哈希的凭据?

最佳答案

就像给自己的笔记一样,希望这对其他人的帮助将比@Alexandre Santos更加深入,尽管他的回答非常有帮助。

需要注意的重要一点是 Credentials参数 Credentials绑定(bind)之间存在差异。

如果您使用的是参数化构建,则可以添加引用凭证绑定(bind)的凭证参数。运行构建时,您会注意到在凭证存储区中有一个与凭证的GUID相关的环境变量。

要使此方法真正有用,您必须在您的环境中注入(inject)“凭据绑定(bind)”。

转到作业定义的构建环境部分。检查使用 secret 文本或文件。这实际上会将 secret 注入(inject)到您的构建环境中。先前创建的“凭据参数” 可以在此处用于选择不同的凭据参数。

对于文件,它将把文件拖放到工作区中的某个位置(?),然后注入(inject)具有完整路径的 secret 环境变量。

来自Cloudbees的blog应该可以帮助其他人。

关于jenkins - 使用Credentials Parameter插件访问Jenkins中的凭证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34815482/

10-13 07:17