gpt4 book ai didi

macos - 从 Gitlab 实例克隆时,Jenkins 在 Mac slave 上挂起

转载 作者:行者123 更新时间:2023-12-02 14:14:58 30 4
gpt4 key购买 nike

我们正在尝试通过 Jenkins 作业构建 iOS 应用程序,但我们无法从 Gitlab 实例中克隆存储库。截至目前,当 git 获取引用时,Jenkins 会挂起(直到 10 分钟超时)。

下面是 Jenkins 的输出:

Started by user <USER>
[EnvInject] - Loading node environment variables.
Building remotely on Mac_Slave in workspace /Users/<MAC USER>/Documents/Jenkins/workspace/<REPO>
> git rev-parse --is-inside-work-tree
Fetching changes from the remote Git repository
> git config remote.origin.url git@<GITLAB>:<USERNAME>/<REPO>.git
Fetching upstream changes from git@<GITLAB>:<USERNAME>/<REPO>.git
> git --version
using GIT_SSH to set credentials <MAC SLAVE>
> git fetch --tags --progress git@<GITLAB>:<USERNAME>/<REPO>.git +refs/heads/*:refs/remotes/origin/*
ERROR: Timeout after 10 minutes
FATAL: Failed to fetch from git@<GITLAB>:<USERNAME>/<REPO>.git
hudson.plugins.git.GitException: Failed to fetch from git@<GITLAB>:<USERNAME>/<REPO>.git
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:623)
at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:855)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:880)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1251)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:605)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:514)
at hudson.model.Run.execute(Run.java:1703)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:231)
Caused by: hudson.plugins.git.GitException: Command "git fetch --tags --progress git@<GITLAB>:<USERNAME>/<REPO>.git +refs/heads/*:refs/remotes/origin/*" returned status code 143:
stdout:
stderr:
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1307)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1169)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$200(CliGitAPIImpl.java:87)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:257)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:153)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:146)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:328)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at hudson.remoting.Engine$1$1.run(Engine.java:63)
at java.lang.Thread.run(Thread.java:745)

我们添加了 Mac 的 SSH 公钥作为存储库的部署 key ,我们使用 Mac 的 SSH 私钥作为凭据,但由于某种原因,它不起作用。有什么想法吗?

编辑:查看 Mac 从属设备上的日志,我注意到它提示用户“输入 key 的密码 '/var/folders/92/<RANDOM STRING OF CHARACTERS>/T/ssh<RANDOM STRING OF NUMBERS>key':" 如果我手动输入 SSH key 的密码,它可以工作。但是这个解决方案并不适合一个自动构建系统。

进一步挖掘,如果我真的去 '/var/folders/92/<RANDOM STRING>/T/'文件夹,我看到一些文件。当 Mac 从站被提示输入密码时, ssh<RANDOM NUMBERS>key文件,一个 ssh<DIFF RANDOM NUMBERS>.sh文件和 pass<OTHER DIFF RANDOM NUMBERS>.sh文件出现。 ssh<...>key文件包含 SSH 私钥, ssh<...>.sh文件包含一个使用该私钥的 ssh 命令,以及 pass<...>.sh文件包含一个回显 SSH 密码的命令。

最佳答案

原来我需要将 SSH key 添加到 Mac 的钥匙串(keychain)或删除 SSH key 中的密码。为了添加到钥匙串(keychain)运行ssh-add <SSH PRIVATE KEY FILE>在 Mac 上(您可能还需要启用 ssh-agent 执行 eval $(ssh-agent) )。

关于macos - 从 Gitlab 实例克隆时,Jenkins 在 Mac slave 上挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24639356/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com