gpt4 book ai didi

jenkins - 为文件夹确定 "store Id"以使用 CLI 上传和列出凭据

转载 作者:行者123 更新时间:2023-12-04 18:59:00 24 4
gpt4 key购买 nike

我正在使用 CloudBees Folders Plugin带有嵌套文件夹和 Credentials Plugin用于将 secret 管理到不同的管道作业中。假设我有一个这样的 Jenkins 文件夹结构。

folder1/
folder2/
job1

文件夹插件允许我将凭据域和凭据范围限定到文件夹,以便只有这些文件夹中的作业才能访问这些凭据。

我可以通过 UI 做到这一点,但我们经常轮换这些凭据,并希望自动化其中的一部分。

我们想到的一种方法是使用 Jenkins CLI .

这里的凭据插件提供了各种不同的命令。
例如:

list-credentials - Lists the Credentials in a specific Store

java -jar jenkins-cli.jar -s http://localhost:8080/ list-credentials STORE

Lists the Credentials in a specific Store

STORE : Store ID



list-credentials-context-resolvers - List Credentials Context Resolvers

java -jar jenkins-cli.jar -s http://localhost:8080/ list-credentials-context-resolvers

List Credentials Context Resolvers



list-credentials-providers - List Credentials Providers

java -jar jenkins-cli.jar -s http://localhost:8080/ list-credentials-providers

List Credentials Providers



店铺 Jenkins 的全局范围是由我通过查看 source code 确定的,这表明它是 system::system::jenkins .

如果我运行一些命令,我​​可以开始可能提取一些信息:
✗ java -jar credential-management/build/jenkinsAutomation/Localhost/cli/jenkins-cli.jar -s http://localhost:8080 list-credentials-context-resolvers --username admin --password password

结果: results of CLI command list-credentials-context-resolvers

运行以下内容:
✗ java -jar credential-management/build/jenkinsAutomation/Localhost/cli/jenkins-cli.jar -s http://localhost:8080 list-credentials system::system::jenkins --username admin --password password

结果是:
results of CLI command list-credentials

现在,我正在尝试列出文件夹的一些凭据,但不知道如何获取 STORE (存储 Id 由文档指示)。

我试过了
✗ java -jar credential-management/build/jenkinsAutomation/Localhost/cli/jenkins-cli.jar -s http://localhost:8080 list-credentials folder::items::folder1 --username admin --password password

但是收到 ERROR: The specified resolver folder::items::folder1 cannot be uniquelyidentified:

error when running trying to run list-credentials for folder

我如何确定 STORE一个文件夹,以便我可以使用 create-credentials-by-xml或其他命令来自动化它们?或者,我如何使用脚本支持执行 Groovy 来执行此操作?

最佳答案

我相信你快到了。

凭证存储 ID 格式为 Provider::Resolver::ContextPathProvider名称可以通过 list-credentials-providers 找到命令。您正确使用了 folder这里。
Resolver名称可以通过 list-credentials-context-resolvers 找到命令。我相信这是你打错字的地方。应该是 item不是 items .
ContextPathResolver依赖。在system的情况下它只能是 jenkins .在folder的情况下它是文件夹的完整路径,例如/folder1/subfolder1 .

因此,您最后一个命令中的 STORE 参数应该是 folder::item::/folder1

关于jenkins - 为文件夹确定 "store Id"以使用 CLI 上传和列出凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42959209/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com