我有数百个Jenkins作业使用构建步骤“Send files or execute commands over SSH“。此步骤需要SSH服务器的凭据。作为公司警察,密码每90天过期一次。更新所有作业的密码是痛苦和耗时的。
Send files or execute commands over SSH
是否可以通过编程方式更改密码,例如使用CURL, python-jenkins.?
CURL, python-jenkins
密码是加密/散列的,只需将config.xml文件中标记<secretPassphrase>的文本替换为另一个作业中的文本,手动更新似乎不起作用
<secretPassphrase>
vvppvyoh1#
您可以创建Groovy脚本并使用“脚本控制台”运行它以从credentials.xml获取密码并根据新更改编辑该密码。您可以使用脚本控制台在Jenkins中获取您的凭据。下面是脚本:https://devops.stackexchange.com/questions/2191/how-to-decrypt-jenkins-passwords-from-credentials-xml您可以获取您的凭据,然后使用Groovy编辑这些相同的凭据。另一种解决方案是将配置用作代码插件,并使用yaml语法创建新的凭证,并使用Groovy文件将新凭证更新到作业。
1条答案
按热度按时间vvppvyoh1#
您可以创建Groovy脚本并使用“脚本控制台”运行它以从credentials.xml获取密码并根据新更改编辑该密码。
您可以使用脚本控制台在Jenkins中获取您的凭据。下面是脚本:https://devops.stackexchange.com/questions/2191/how-to-decrypt-jenkins-passwords-from-credentials-xml
您可以获取您的凭据,然后使用Groovy编辑这些相同的凭据。
另一种解决方案是将配置用作代码插件,并使用yaml语法创建新的凭证,并使用Groovy文件将新凭证更新到作业。