Jenkins检出GIT项目失败,权限被拒绝致命:无法分叉

我有一个Freestyle Jenkins项目,该项目使用bitbucket作为SCM,并使用ssh作为协议和私钥(而不是用户/密码)。

当我在master上构建项目时,它在以下stacktrace下失败,而在agent上运行良好。

注意错误提到:

stderr:致命:无法执行’/var/lib/jenkins/workspace/foo_test@tmp/ssh1377177620135545595.sh’:权限被拒绝致命:无法分叉

我检查了以下内容:

  • 从命令行以jenkins用户身份运行此命令没有问题。
  • 詹金斯可写文件夹/ var / lib / jenkins / workspace / foo_test @ tmp
  • 我正在使用最新版本的Git Client 2.7.4

堆栈跟踪:

    Started by user unknown or anonymous

Building on master in workspace /var/lib/jenkins/workspace/foo_test

[WS-CLEANUP] Deleting project workspace...

[WS-CLEANUP] Deferred wipeout is used...

Cloning the remote Git repository

Cloning repository ssh://git@bitbucket.foo.com:7999/~xxx/foo_poc.git

> git init /var/lib/jenkins/workspace/foo_test # timeout=10

Fetching upstream changes from ssh://git@bitbucket.foo.com:7999/~xxx/foo_poc.git

> git --version # timeout=10

using GIT_SSH to set credentials

> git fetch --tags --progress ssh://git@bitbucket.foo.com:7999/~xxx/foo_poc.git +refs/heads/*:refs/remotes/origin/*

ERROR: Error cloning remote repo 'origin'

hudson.plugins.git.GitException: Command "git fetch --tags --progress ssh://git@bitbucket.foo.com:7999/~xxx/foo_poc.git +refs/heads/*:refs/remotes/origin/*" returned status code 128:

stdout:

stderr: fatal: cannot exec '/var/lib/jenkins/workspace/foo_test@tmp/ssh1377177620135545595.sh': Permission denied

fatal: unable to fork

at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2016)

at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1735)

at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:72)

at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:420)

at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$2.execute(CliGitAPIImpl.java:629)

at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1146)

at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1186)

at hudson.scm.SCM.checkout(SCM.java:504)

at hudson.model.AbstractProject.checkout(AbstractProject.java:1208)

at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:574)

at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)

at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)

at hudson.model.Run.execute(Run.java:1819)

at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)

at hudson.model.ResourceController.execute(ResourceController.java:97)

at hudson.model.Executor.run(Executor.java:429)

ERROR: Error cloning remote repo 'origin'

Finished: FAILURE

回答:

检查主服务器上的工作区目录是否未使用’noexec’选项安装。

  • 查看/ etc / fstsab以查找那些设置
  • 删除noexec
  • 重新启动机器

有关更多信息,请参见Mark Waiter的出色解答

  • https://groups.google.com/forum/m/?utm_medium=email&utm_source=footer#!msg/jenkinsci-users/DxJEjp6qsg0/sT53l0CtCAAJ

以上是 Jenkins检出GIT项目失败,权限被拒绝致命:无法分叉 的全部内容, 来源链接: utcz.com/qa/434399.html

回到顶部