未指定凭据从远程 Git 获取更改
Posted
技术标签:
【中文标题】未指定凭据从远程 Git 获取更改【英文标题】:No credentials specified Fetching changes from the remote Git 【发布时间】:2021-11-08 17:14:49 【问题描述】:我正在尝试完成我的第一份 Jenkins 工作。我想运行一个上传到 git 的 java 项目,但在构建作业时出现此错误:
没有指定凭据从远程 Git 获取更改 存储库错误:获取远程 repo 'origin' 时出错 hudson.plugins.git.GitException:无法从中获取 https://gitlab/engineering/automation/create_pass_criteria.git 在 hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:908) 在 hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1123) 在 hudson.plugins.git.GitSCM.checkout(GitSCM.java:1159) 在 org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:129) 在 org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:97) 在 org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:84) 在 org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47) 在 java.util.concurrent.Executors$RunnableAdapter.call(未知 源)在 java.util.concurrent.FutureTask.run(未知源)在 java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源)在 java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) 原因: hudson.plugins.git.GitException:命令“git fetch --tags --progress https://gitlab/engineering/automation/create_pass_criteria.git +refs/heads/:refs/remotes/origin/" 返回状态码 128:标准输出:标准错误:致命:无法访问 'https://gitlab/engineering/automation/create_pass_criteria.git/': 对等方的证书颁发者已被用户标记为不信任。
这是我的 groovy jenkins 文件:
#!groovy
pipeline
agent node label "agent_314"
stages
stage("Build")
steps
echo "Building..."
git 'https://gitlab/engineering/automation/create_pass_criteria.git'
sh './mvnw clean compile'
【问题讨论】:
我猜你正在尝试访问私有存储库,你需要先配置凭据(作业或全局),然后在 git checkoutgit credentialsId: 'GITLAB_CREDENTIALS', url: 'https://gitlab/engineering/automation/create_pass_criteria.git
Check the docs for more info
【参考方案1】:
在 Jenkins 中为您的 git 存储库添加凭据,然后在管道中为 git checkout 提供凭据
添加凭据 - Jenkins -> 管理 Jenkins -> 管理凭证 在 Stores scoped to Jenkins 下,点击 Jenkins,然后点击 Global Credentials (unrestricted)。
从左侧单击 Add Credentials 并为您的 git 存储库定义用户名和密码并记下 credentialsID
在您的 jenkinsfile 中添加以下行
git credentialsId: '你的 git 凭据 ID', url: 'https://gitlab/engineering/automation/create_pass_criteria.git'
更多信息可以参考here
【讨论】:
以上是关于未指定凭据从远程 Git 获取更改的主要内容,如果未能解决你的问题,请参考以下文章
Eclipse 无法使用“未授权”消息连接到 Git 远程存储库
我是否可以拉出远程Git存储库并获得远程(未提交的)工作更改?