@Library('Jenkinslib@master')_ // 共享库中提供的函数 def build = new org.devops.build() def deploy = new org.devops.deploy() def tools = new org.devops.tools() def gitlab = new org.devops.gitlab() def sonar = new org.devops.sonarqube() // env 环境变量 String buildShell = "${env.buildShell}" String buildType = "${env.buildType}" String deployHosts = "${env.deployHosts}" String srcUrl = "${env.srcUrl}" String branchName = "${env.branchName}" if("${runOpts}" == "GitlabPush"){ branchName = branch - "refs/heads/" currentBuild.description = "Trigger by ${userName} ${branch}" gitlab.ChangeCommitStatus(projectId,commitSha,"running") } pipeline{ agent { node { label "node01"}} stages{ stage("QA"){ steps{ script{ tools.PrintMes("执行代码扫描","green") //sonar.SonarScan("TEST","THISISATEST","${projectName}","src") } } } } } 上面的pipeline在运行过程中报错:ERROR: Credentials 'gitlab' is of type 'Username with password' where 'org.jenkinsci.plugins.plaincredentials.StringCredentials' was expected 自己的"gitlab" 凭据配置的类型是 "Username with password"。请问是哪里出了问题?
时间: 2023-07-22 17:09:50 浏览: 242
根据您提供的信息,您的凭据配置类型是正确的,但仍然遇到了错误。这可能是由于其他部分代码中的问题导致的。
请尝试按照以下步骤检查您的代码:
1. 确保在Pipeline代码的其他部分没有使用与凭据相关的配置。特别是在 `gitlab.ChangeCommitStatus` 方法中,确保没有使用错误的凭据。
2. 检查 `gitlab.ChangeCommitStatus` 方法的参数,确保您正确传递了 `projectId` 和 `commitSha`。
3. 确保您在Jenkins中创建了与 `gitlab` 凭据相关联的全局或项目级凭据,并且这些凭据的类型正确。
4. 如果您的Jenkins版本较旧,请尝试升级到最新版本,以确保没有已知的错误或问题。
如果问题仍然存在,请提供更多关于报错消息以及其他可能与凭据相关的代码部分的信息,以便更详细地调查问题。
阅读全文