Оформление Дженкинсом проекта GIT завершилось неудачно, так как в Permission отказано фатально: невозможно форкнуть - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть проект Freestyle Jenkins, в котором используется битбакет в качестве SCM с ssh в качестве протокола и секретного ключа (не пользователя / пароля).

Когда я собираю проект на master, он терпит неудачу с использованием трассировки стека ниже, в то время как он выполняетсяштраф на агентаНеустранимый: невозможно выполнить разветвление

Я проверил следующее:

  • Запуск этого от имени пользователя jenkins из командной строки не вызывает проблем.
  • Папка / var/ lib / jenkins / workspace / foo_test @ tmp доступен для записи Jenkins
  • Я использую последнюю версию Git Client 2.7.4

Чтоможет быть проблема?

Stacktrace:

    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

1 Ответ

0 голосов
/ 21 декабря 2018

Убедитесь, что временный каталог на главном компьютере не смонтирован с параметром noexec.

Убедитесь, что каталог рабочей области на главном компьютере не смонтирован с параметром 'noexec'.

  • Просмотрите файл / etc / fstsab, чтобы найти эти настройки
  • удалитьnoexec
  • перезагрузите компьютер

Для получения дополнительной информации см. этот замечательный ответ Марка Официанта

...