我无法在Jenkins的项目SCM部分的下拉列表中看到任何Secret text
凭据。我知道从SCM部分的下拉列表中创建Secret text
凭据已被破坏,但即使我通过导航到Jenkins -> Credentials
创建凭据,该凭据也不会出现在下拉列表中。
我创建了每种类型的凭据,我在下拉列表中看到的唯一类型是Username with password
。看起来SCM的下拉过滤掉了不属于这种类型的每个凭证。
我在SCM部分需要Secret text
凭据的原因是因为我想使用Github访问令牌(而不是我的Github帐户用户名和密码)。
以下屏幕截图显示了我的全局凭据,其中明确显示了我的Secret text
凭据。
以下屏幕截图显示了我的项目的SCM部分的Git下拉列表,其中仅显示Username and password
凭据。
Jenkins版本:2.102
Jenkins Credentials插件版本:2.1.16
Jenkins Git插件版本:3.7.0
答案 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
字段。
答案 1 :(得分:1)
安装Credentials Bindings插件后,构建作业 Configuration 页面的 Build Environment 部分将包含一个新选项“Use secret text(s)or file( S)”。启用此选项允许您添加凭据绑定,其中 Variable 值将用作环境变量的名称,您的构建可以使用该名称来访问凭证的值。< / p>
在我的案例中,echo $VAR
的输出为*****
。但您可以在工作中将其用作12345
。这是您使用秘密文本的方式。这个名字说明了一切。文本仍然保密,但您可以将其用作工作中的未打印变量。这是用于文本,而不是用于凭证。
如果您想在构建中重用您的凭据,建议使用“用户名和密码连接”。您可以在此处为凭据设置变量。有关如何分割用户名和密码的详细信息,请参见here。