如何管理Jenkins凭证

时间:2019-08-20 17:58:27  来源:igfitidea点击:

在本文中,我们将共享管理Jenkins凭据的信息。我们知道,

凭证基本上是用来验证用户/组的身份及其身份验证的。
简单地说,凭证是用户/密码。

为了在Jenkins中存储和管理凭证,我们需要插件。

在服务器上安装Jenkins时,如果我们已经安装了所有推荐的插件,那么默认情况下也会安装名为“ Credential plugin”的插件。

在“凭据”页面中,我们将看到名为“Jenkins”的存储和名为“Global”的域。
单击“(全局)”。

单击“添加凭据”。

点击“种类”下拉按钮。它将显示凭据的类型。

选择凭证的“种类”。当我们选择时,它将显示所有需要填写的字段。

我们可以找到所有类型的凭证。

证书:设置PKCS# 12证书文件和可选密码

Docker Host Certificate Authentication credentials:设置Docker主机认证的证书密钥。

Secret file:设定密档

密文::设置API令牌

带私钥的SSH用户名:设置SSH用户名、密钥或者密码短语。

用户名和密码:字符串设置用户名和密码。它跟着用户名:密码格式。

点击“范围”下拉菜单。它将显示两个范围-全局和系统。选择其中一个选项。我们将在所有凭证类型中看到“范围”下拉列表

示例:通过CLI添加凭证

在本节中,我们将编写一些在Jenkins中添加“Credentials”的示例。

我们将使用jenkins cli jar文件,我们可以从自己的jenkins服务器下载这个文件。

wget http://localhost:8080/jnlpJars/jenkins-cli.jar

通过CLI添加“用户名和密码”凭证

在这里,我们将添加名为“用户名和密码”的Jenkins凭证类型

例子:

创建一个'‘credential.xml'文件,内容如下:

在“scope”字段中,填写“GLOBAL”或者“SYSTEM”。

语法:

<com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl >
<scope>GLOBAL OR SYSTEM</scope>
<id>Give-ID</id> 
<username>YOUR_USERNAME</username>
<password>GIVE_PASSWORD</password>
<description>GIVE_DESCRIPTION</description>
</com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl>

执行下面的命令

java -jar jenkins-cli.jar -auth admin:admin123 -s http://localhost:8080/ create-credentials-by-xml system::system::jenkins _  < credential.xml

通过CLI添加“SSH用户名带私钥”凭证

在这里,我们将添加带私钥用户的Jenkins凭证类型

例子:

创建一个'credential.xml'文件,内容如下:

在私钥部分,给出私有ssh密钥的内容。

语法:

<com.cloudbees.jenkins.plugins.sshcredentials.impl.BasicSSHUserPrivateKey plugin="[email protected]"> 
<scope>GLOBAL OR SYSTEM</scope> 
<id>GIVE_CREDENTIAL_ID</id> 
<description>GIVE_DESCRIPTION</description> 
<username>GIVE_USERNAME</username> 
<privateKeySource class="com.cloudbees.jenkins.plugins.sshcredentials.impl.BasicSSHUserPrivateKey$DirectEntryPrivateKeySource"> 
    <privateKey>-----BEGIN RSA PRIVATE KEY----- 
MIIEpAIBAAKCAQEAuXPQR+kYowJ/pDvjlF7+HJ93eaIuQM/cQijmP8My3dGvEozh 
.
.
.
.
yWWktYfevPu05rda1ThNHNKXjs6Kynl7tl3Sp0vuCF8CXAnyvleimCvip4P4uW28  
-----END RSA PRIVATE KEY----- </privateKey> 
</privateKeySource> 
</com.cloudbees.jenkins.plugins.sshcredentials.impl.BasicSSHUserPrivateKey>

执行下面命令:

java -jar jenkins-cli.jar -auth admin:admin123 -s http://localhost:8080/ create-credentials-by-xml system::system::jenkins _  < credential.xml

运行命令后,检查Jenkins“Credential”页面以进行确认。