当前位置: 首页 > 知识库问答 >
问题:

如何从jenkins“username with password”参数中提取用户名和密码?

陈博容
2023-03-14

我有一个Jenkins管道作业。它需要几个参数,其中一个是“带密码的用户名”参数,该参数设置为我已预配的“服务号”。

这在“StashNotifier”中用于通知BitBucket生成的结果。

现在,我必须向作业中添加一些“scp/ssh”步骤,并且我希望使用相同的服务帐户主体和凭据。我可以手动添加两个参数,即服务帐户参数的用户名和密码的冗余副本,但我真的想从现有的“用户名和密码”参数中提取部分。

有可能这么做吗?

共有3个答案

督坚白
2023-03-14

正如@jil所提到的,如果您在SSH服务器上使用ssh密钥进行身份验证,事情会变得容易得多——假设您的jenkins服务器在linux/unix机器上运行。您可以将密钥添加到运行Jenkins的系统用户jenkins并将其复制到您要连接的机器以执行scp/ssh步骤。之后,您可以直接使用任何ssh/scp命令而无需提供密码。

不过,有一些安全注意事项:将SSH密钥添加到jenkins用户可以使Jenkins服务器上的每个作业访问您的SSH服务器。

如果这对您来说不是问题,那么这是一篇关于如何使用ssh密钥的好文章。

诸葛砚
2023-03-14

一般来说,如果您使用的是ssh/scp,则ssh-agent是您想要的。(通常您还需要公钥身份验证而不是密码,但那是另一回事)

node {
    sshagent (credentials: ['your-credential-id']) {
        sh 'ssh blaa blaa'
    }
}
叶经略
2023-03-14
withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: credentialsId, usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD']]) { 
    // use USERNAME and PASSWORD as envs - ${USERNAME}
    // credentialId is the credential id from Credentials tab 
}
 类似资料:
  • 我有一份詹金斯的工作,在那里我登录了一个网站。网站的用户名和密码与我为詹金斯使用的用户名和密码相同。我想得到詹金斯的用户名和密码,并把它传递给我写的java代码登录到网站。 如何获取Jenkins用户名和密码属性? 背景:假设我使用“用户名1”和“密码1”登录到Jenkins。我有一个使用相同登录凭据的网站。我有一个詹金斯的工作创建登录到这个网站。詹金斯的工作被很多人使用。我想以这样的方式编写Ja

  • 问题内容: 当我转到mydomain.com:8080时,默认情况下没有授权机制。我看过配置区域,但是找不到任何地方来添加基本的用户名和密码 问题答案: 转到 管理Jenkins >配置全局安全性,_然后选择 _启用安全性 复选框。 对于基本的用户名/密码认证,我会建议选择 詹金斯自己的用户数据库 在安全领域,然后选择 登录用户可以做任何事情 的或基于矩阵策略(在当你有多个用户以不同的权限的情况下

  • 当我进入我的领域。com:8080默认情况下没有授权机制。我已经查看了配置区域,但找不到添加基本用户名和密码的地方

  • 我将jenkins安装到windows 10。当我访问http://localhost:8080/,我必须输入用户名和密码。 但我不会像截图显示的那样显示秘密文件夹: 在包含jenkins.war的路径文件夹中运行时,我得到了这个异常 你能帮我解决那个问题吗?。 如有任何建议,将不胜感激。提前谢谢。

  • 我有麻烦管理詹金斯的秘密密码。我希望密码不显示在日志上,但我尝试了两种方法没有成功: 第一次尝试 我尝试使用全局凭据(不受限制)设置用户和pwd,如下所示: 我执行了: 但我可以在日志中看到,用户的写入是正确的,但pwd的写入方式与它的路径相同: 在我的自动测试中,也是通过输入完整路径而不是变量的值。 第二次尝试 我试着用这样的密文: 但控制台日志上显示的是原样的密码。 有人能帮我吗? 先谢谢你。

  • 我是jenkins的新手,我正在尝试使用凭据插件在dsl中使用凭据 样板xml 我已将jenkins中的凭据定义为带有密码的用户名。上述加密值保存在anable中。 我的问题是我应该如何在dsl中调用它们 错误: 22:11:16致命:凭据“PROD”的类型为“Username with password”,其中“org”。詹金西。插件。普通凭据。应为StringCredentials