繁体   English   中英

Git 使用用户和密码在 jenkins 管道中检出外部项目

[英]Git checking out external project in jenkins pipeline using user and password

阅读此答案从 jenkins 管道检出外部项目的方式如下:

git branch: 'master',
    credentialsId: '12345-1234-4696-af25-123455',
    url: 'ssh://git@bitbucket.org:company/repo.git'

该帖子的作者还说:

如果您使用的是 ssh url 那么您的凭据必须是用户名 + 私钥。 如果您使用的是 https 克隆 url 而不是 ssh,那么您的凭据应该是用户名 + 密码。

但是,不完全清楚第二种情况是如何工作的(https URL 和用户名 + 密码)......在这种情况下creadentialsId使用哪种语法? 或者该字段未使用而其他字段用于指定用户名和密码? 有人可以提供一个例子吗?

谢谢!

通过以下方式将用户名和密码存储在 Jenkins 上:

https://www.jenkins.io/doc/book/using/using-credentials/

添加新的全局凭证要将新的全局凭证添加到您的 Jenkins 实例:

如果需要,请确保您已登录到 Jenkins(作为具有凭据 > 创建权限的用户)。 从 Jenkins 主页(即 Jenkins 经典 UI 的仪表板),单击管理 Jenkins > 管理凭证。 图像

在右侧范围为 Jenkins 的商店下,单击 Jenkins。图片

在系统下,单击全局凭据(无限制)链接以访问此默认域。 图像

单击左侧的添加凭据。 注意:如果此默认域中没有凭据,您还可以单击添加一些凭据链接(与单击添加凭据链接相同)。 从种类字段中,选择要添加的凭据类型。 从 Scope 字段中选择: 全局 - 如果要添加的凭证是用于管道项目/项目的。 选择此选项会将凭证的 scope 应用于管道项目/项目“对象”及其所有后代对象。 系统 - 如果要添加的凭证是用于 Jenkins 实例本身与系统管理功能交互,例如 email 身份验证、代理连接等。选择此选项会将凭证的 scope 应用于单个 object仅有的。 将凭据本身添加到您选择的凭据类型的相应字段中: Secret text - 复制机密文本并将其粘贴到 Secret 字段中。 用户名和密码 - 在各自的字段中指定凭据的用户名和密码。 秘密文件 - 单击文件字段旁边的选择文件按钮,将 select 秘密文件上传到 Jenkins。 SSH 带私钥的用户名 - 在各自的字段中指定凭证用户名、私钥和可选密码。 注意:直接选择 Enter 允许您复制私钥的文本并将其粘贴到生成的密钥文本框中。 证书 - 指定证书和可选的密码。 选择上传 PKCS#12 证书允许您通过生成的上传证书按钮将证书作为文件上传。 Docker 主机证书身份验证 - 将适当的详细信息复制并粘贴到客户端密钥、客户端证书和服务器 CA 证书字段中。 在 ID 字段中,指定一个有意义的凭证 ID 值 - 例如,jenkins-user-for-xyz-artifact-repository。 内置(默认)凭证提供程序可以使用大写或小写字母作为凭证 ID,以及任何有效的分隔符,其他凭证提供程序可能会对允许的字符或长度应用进一步的限制。 但是,为了您 Jenkins 实例上所有用户的利益,最好使用单一且一致的约定来指定凭据 ID。 注意:此字段是可选的。 如果不指定其值,Jenkins 会为凭据 ID 分配一个全局唯一 ID (GUID) 值。 请记住,一旦设置了凭据 ID,就无法再更改。 为凭证指定一个可选的描述。 单击确定以保存凭据

然后,使用上面代码中 credentialsId 字段中的 ID。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM