fpn*_*ick 5 windows network-shares credentials jenkins
我们正在使用 Jenkins 在 Windows 和 Linux 上测试我们的软件。我们的 Jenkins 服务器(没有安装任何数据驱动器)在我们的一台 Windows 机器上启动一个 Jenkins 从属作业,然后需要从需要使用不同用户凭据安装的网络驱动器获取数据。
所以,我需要类似的东西
net use \\server\share /u:username PASSWORD
copy data
Run Code Online (Sandbox Code Playgroud)
问题是我不想写PASSWORD在我的 Jenkins 执行脚本中。
在 Linux 上,我们为此使用 SSH 密钥文件和 scp,但在 Windows 上的等效项是什么?
小智 4
为此,您可以使用 Jenkins 内置的“Credentials”存储。只需创建一个新的“凭据”对象(类型:用户名和密码),然后 -
如果是管道作业:
withCredentials([usernamePassword(credentialsId: 'MyCredentialsObjectId', passwordVariable: 'CREDS_P', usernameVariable: 'CREDS_U')]) {
bat """
net use \\server\share /u:%CREDS_U% %CREDS_P%
REM copy data...
"""
}
Run Code Online (Sandbox Code Playgroud)
如果它是自由式作业,请配置要在“构建环境”部分中使用的凭证对象 - 然后以相同的方式使用批处理步骤。
凭证将安全地保存在 Jenkins 内部,并且永远不会出现在代码中。此外,Jenkins 将通过用星号 (***) 替换用户名和密码来确保凭据不会泄露到控制台输出。
| 归档时间: |
|
| 查看次数: |
3477 次 |
| 最近记录: |