我希望让Jenkins从BitBucket克隆我的Mercurial项目,但它无法克隆,因为它说凭据有问题——实际上,BitBucket拒绝了Jenkins提供的任何内容。
我近乎100%确定Jenkins没有提供应该提供的内容,因为当我运行
hg clone --ssh="ssh -i /path/to/my/key" ssh://hg@bitbucket.org/my-org/my-repo
它克隆得很好。 /path/to/my/key
的内容是我在 Jenkins 凭据管理器中放置的密钥。我已验证它可以在我的 Jenkins credentials.xml
文件中找到。
然而,当我尝试运行作业时,克隆失败了,因为
remote: Host key verification failed.
这让我相信问题在于通过mercurial插件传递的内容。但是我无法在日志中看到它,因为它是某种掩码字符串,只显示为******
。
所以我想确保发送到Hg插件的凭据实际上就是我credentials.xml
文件中存在的内容。
到目前为止,我已经做到了这一点:
import com.cloudbees.plugins.credentials.CredentialsProvider
import com.cloudbees.plugins.credentials.common.StandardUsernameCredentials
def creds = CredentialsProvider.all()
print creds
这给了我一份凭据提供者的列表...但我不确定下一步该做什么。我一直在翻阅文档,试图找出如何获取我想要的凭证信息...但没有成功。
我该如何在Groovy脚本控制台中显示我的Jenkins凭证列表?
if (c.getAccessKey()) { println(" Access Key: " + c.getAccessKey()) println(" Secret Key: " + c.getSecretKey()) }
- xocasdashdash