我的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/