“秘密文本”Git凭据未出现在Jenkins项目源代码管理部分

时间:2018-01-18 21:14:22

标签: git jenkins jenkins-plugins

我无法在Jenkins的项目SCM部分的下拉列表中看到任何Secret text凭据。我知道从SCM部分的下拉列表中创建Secret text凭据已被破坏,但即使我通过导航到Jenkins -> Credentials创建凭据,该凭据也不会出现在下拉列表中。

我创建了每种类型的凭据,我在下拉列表中看到的唯一类型是Username with password。看起来SCM的下拉过滤掉了不属于这种类型的每个凭证。

我在SCM部分需要Secret text凭据的原因是因为我想使用Github访问令牌(而不是我的Github帐户用户名和密码)。

以下屏幕截图显示了我的全局凭据,其中明确显示了我的Secret text凭据。 Global credentials with Secret text credential present

以下屏幕截图显示了我的项目的SCM部分的Git下拉列表,其中仅显示Username and password凭据。Git SCM section with no Secret text credential present

Jenkins版本:2.102
Jenkins Credentials插件版本:2.1.16
Jenkins Git插件版本:3.7.0

2 个答案:

答案 0 :(得分:11)

您无法使用Secret Text凭据进行SCM步骤,因为Github个人访问令牌只能替换您的密码。不是您的用户密码。含义仍然需要您的用户。在Github文档here中,您会看到它:

  

您可以创建个人访问令牌并使用代替密码

然后在"在命令行上使用令牌" here下面的内容中显示:

  

获得令牌后,您可以在通过HTTPS执行Git操作时输入而不是密码

以下是这个例子:

$ git clone https://github.com/username/repo.git
Username: your_username
Password: your_token

如果您将此推断为Jenkins,凭证类型的合理选择仍然是User with password

因此,只需像往常一样创建User with password类型的凭据,然后将您的个人访问令牌用于Password字段

User with password credential using personal access token instead

答案 1 :(得分:1)

安装Credentials Bindings插件后,构建作业 Configuration 页面的 Build Environment 部分将包含一个新选项“Use secret text(s)or file( S)”。启用此选项允许您添加凭据绑定,其中 Variable 值将用作环境变量的名称,您的构建可以使用该名称来访问凭证的值。< / p>

例如你创建一个秘密:( ***** = 12345) enter image description here

您可以在构建中以下列方式使用它: enter image description here

在我的案例中,echo $VAR的输出为*****。但您可以在工作中将其用作12345。这是您使用秘密文本的方式。这个名字说明了一切。文本仍然保密,但您可以将其用作工作中的未打印变量。这是用于文本,而不是用于凭证。

如果您想在构建中重用您的凭据,建议使用“用户名和密码连接”。您可以在此处为凭据设置变量。有关如何分割用户名和密码的详细信息,请参见here