Назад | Перейти на главную страницу

Ошибка сборки Jenkins с ограниченным выводом ошибок

Недавно я установил сервер gogs для подключения к Jenkins (ранее мы использовали SVN). Соединение работает, но сборка не выполняется при получении объектов с сервера gogs около 41% -43% (различается для каждой сборки, но всегда в пределах этого диапазона).

Есть ли какие-то ограничения в API GOGS? Ниже приводится единственный вывод об ошибке, который я получаю.

Receiving objects:  41% (270082/645355), 2.68 GiB | 18.83 MiB/s   
Receiving objects:  41% (270419/645355), 2.70 GiB | 18.96 MiB/s   
Killed by signal 15.

    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1996)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1715)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:72)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:405)
    at jenkins.plugins.git.GitSCMFileSystem$BuilderImpl.build(GitSCMFileSystem.java:351)
    at jenkins.scm.api.SCMFileSystem.of(SCMFileSystem.java:196)
    at jenkins.scm.api.SCMFileSystem.of(SCMFileSystem.java:172)
    at org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition.create(CpsScmFlowDefinition.java:107)
    at org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition.create(CpsScmFlowDefinition.java:67)
    at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:271)
    at hudson.model.ResourceController.execute(ResourceController.java:97)
    at hudson.model.Executor.run(Executor.java:429)
Finished: FAILURE

ОБНОВЛЕНИЕ: серверу, на котором находится мой мастер jenkins, необходимо увеличить размер диска (сборка Android ROM, которую я делаю, абсолютно массивна и заполняет кеш до точки отказа). Я добавил еще 60 ГБ в свою установку и перезапустил сборку.

Как упоминал Джей в комментариях, ssh может сыграть свою роль в этом, поэтому я добавил следующие строки в sshd_config на мастере Jenkins, чтобы удовлетворить потребность в долгом открытом соединении:

ClientAliveInterval 120
ClientAliveCountMax 720

Сборка продвинулась немного дальше, чем предыдущие попытки, но в итоге все равно не удалась, так же, как и раньше:

Receiving objects:  55% (355794/645358), 3.51 GiB | 13.63 MiB/s   
Receiving objects:  55% (359617/645358), 3.52 GiB | 13.75 MiB/s   
Killed by signal 15.

    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1996)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1715)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:72)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:405)
    at jenkins.plugins.git.GitSCMFileSystem$BuilderImpl.build(GitSCMFileSystem.java:351)
    at jenkins.scm.api.SCMFileSystem.of(SCMFileSystem.java:196)
    at jenkins.scm.api.SCMFileSystem.of(SCMFileSystem.java:172)
    at org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition.create(CpsScmFlowDefinition.java:107)
    at org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition.create(CpsScmFlowDefinition.java:67)
    at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:271)
    at hudson.model.ResourceController.execute(ResourceController.java:97)
    at hudson.model.Executor.run(Executor.java:429)
Finished: FAILURE

Новое обновление:

Проведение еще тестов (не верьте, что это проблема сети, но спасибо за комментарий). Я заметил, что сборка убивается ровно через 10 минут. Изучая других людей с той же проблемой, я обнаружил, что вы можете увеличить это с помощью дополнительных параметров. Я сделал это, но ровно через 10 минут он все еще не работает.

НОВОЕ ОБНОВЛЕНИЕ:

Я прикрепил копию своей сборки config.xml, так как вы можете видеть, что тайм-аут был обновлен в файле, но сборка по-прежнему использует ограничение тайм-аута по умолчанию в 10 минут. Не уверен, что мне здесь не хватает ...

<?xml version='1.1' encoding='UTF-8'?>
<flow-definition plugin="workflow-job@2.17">
  <actions/>
  <description>Android ROM Build</description>
  <keepDependencies>false</keepDependencies>
  <properties>
    <hudson.plugins.buildblocker.BuildBlockerProperty plugin="build-blocker-plugin@1.7.3">
      <useBuildBlocker>false</useBuildBlocker>
      <blockLevel>GLOBAL</blockLevel>
      <scanQueueFor>DISABLED</scanQueueFor>
      <blockingJobs></blockingJobs>
    </hudson.plugins.buildblocker.BuildBlockerProperty>
    <org.jenkinsci.plugins.gogs.GogsProjectProperty plugin="gogs-webhook@1.0.14">
      <gogsSecret>XXXXXXXXXXXXX</gogsSecret>
      <gogsUsePayload>false</gogsUsePayload>
    </org.jenkinsci.plugins.gogs.GogsProjectProperty>
  </properties>
  <definition class="org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition" plugin="workflow-cps@2.47">
    <scm class="hudson.plugins.git.GitSCM" plugin="git@3.9.1">
      <configVersion>2</configVersion>
      <userRemoteConfigs>
        <hudson.plugins.git.UserRemoteConfig>
          <url>gogs@xxx-xxx.xxx.com:git-admin/SF-Firefly-RK3399.git</url>
          <credentialsId>XXXXXXXXXXXXXX</credentialsId>
        </hudson.plugins.git.UserRemoteConfig>
      </userRemoteConfigs>
      <branches>
        <hudson.plugins.git.BranchSpec>
          <name>*/fresh_after_opersys_patches</name>
        </hudson.plugins.git.BranchSpec>
      </branches>
      <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
      <submoduleCfg class="list"/>
      <extensions>
        <hudson.plugins.git.extensions.impl.CloneOption>
          <shallow>true</shallow>
          <noTags>false</noTags>
          <reference>gogs@xxx-xxx.xxx.com:git-admin/SF-Firefly-RK3399.git</reference>
          <timeout>240</timeout>
          <depth>1</depth>
          <honorRefspec>true</honorRefspec>
        </hudson.plugins.git.extensions.impl.CloneOption>
        <hudson.plugins.git.extensions.impl.CheckoutOption>
          <timeout>240</timeout>
        </hudson.plugins.git.extensions.impl.CheckoutOption>
      </extensions>
    </scm>
    <scriptPath>Jenkinsfile</scriptPath>
    <lightweight>true</lightweight>
  </definition>
  <triggers/>
  <disabled>false</disabled>
</flow-definition>

Итак, после того, как я часами бился головой о стол, я наконец понял это. Проблема заключалась в упрощенном флаге проверки на сборке конвейера. Как только он был отключен (как показано на снимке экрана ниже, 10-минутный тайм-аут был увеличен до значения, которое я установил в расширенном поведении клонирования / выборки).

Аналогичная проблема возникла ранее, но в моем случае проблема с сетью, и я не могу загрузить большой файл из git через jenkins, который автоматически отключился после загрузки определенного количества данных

Я бы посоветовал проверить сетевое соединение, настройки прокси и т. Д.