Недавно я установил сервер 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, который автоматически отключился после загрузки определенного количества данных
Я бы посоветовал проверить сетевое соединение, настройки прокси и т. Д.