Забелязвам, че задачите ми на jenkins се провалят често, но не постоянно. Може да е вътрешен проблем със защитната стена, но исках да проверя дали някой може да ме насочи към нещо, което не съм проверил досега. Задачите на jenkins включват: 1. git fetch & 2. git таг
Задачите или се провалят при #1, ако успеят при #1, понякога се провалят при #2. В противен случай работата е успешна.
Дневникът на конзолата, когато се провали на #1:
> git fetch --tags --progress [email protected]:myorganization/myproject +refs/heads/*:refs/remotes/origin/*
FATAL: Failed to fetch from [email protected]:myorganization/myproject
hudson.plugins.git.GitException: Failed to fetch from [email protected]:myorganization/myproject
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:627)
at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:865)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:890)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1259)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:622)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:528)
at hudson.model.Run.execute(Run.java:1759)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:89)
at hudson.model.Executor.run(Executor.java:240)
Caused by: hudson.plugins.git.GitException: Command "git fetch --tags --progress [email protected]:myorganization/myproject +refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout:
stderr: ssh: connect to host github.com port 22: Connection timed out
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
И конзолният изход се проваля @ #2
Updated data_bag_item[dev::dev]
tagging git for env dev
ssh: connect to host github.com port 22: Connection timed out
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Error occured:
AutoTagger::Git::Repo::GitCommandFailedError (AutoTagger::Git::Repo::GitCommandFailedError)
/opt/mount1/rvm/gems/ruby-2.1.1@oss/gems/auto_tagger-0.2.10/lib/auto_tagger/git/repo.rb:58:in `exec'
/opt/mount1/rvm/gems/ruby-2.1.1@oss/gems/auto_tagger-0.2.10/lib/auto_tagger/git/ref_set.rb:36:in `fetch'
/opt/mount1/rvm/gems/ruby-2.1.1@oss/gems/auto_tagger-0.2.10/lib/auto_tagger/base.rb:40:in `fetch'
/opt/mount1/rvm/gems/ruby-2.1.1@oss/gems/auto_tagger-0.2.10/lib/auto_tagger/base.rb:33:in `create_ref'
/opt/mount1/rvm/gems/ruby-2.1.1@oss/gems/auto_tagger-0.2.10/lib/auto_tagger/command_line.rb:49:in `execute'
/opt/mount1/rvm/gems/ruby-2.1.1@oss/gems/auto_tagger-0.2.10/bin/autotag:5:in `<top (required)>'
/opt/mount1/rvm/gems/ruby-2.1.1@oss/bin/autotag:23:in `load'
/opt/mount1/rvm/gems/ruby-2.1.1@oss/bin/autotag:23:in `<main>'
/opt/mount1/rvm/gems/ruby-2.1.1@oss/bin/ruby_executable_hooks:15:in `eval'
/opt/mount1/rvm/gems/ruby-2.1.1@oss/bin/ruby_executable_hooks:15:in `<main>'
Warning: you have no plugins providing access control for builds, so falling back to legacy behavior of permitting any downstream builds to be triggered
.. Имам 2 jenkins slave с този проблем, изграждам друг jenkins slave и 3-тият също показва подобен проблем. По-долу са нещата, които проверих:
Потребителят на jenkins, който изпълнява заданието за изграждане, има правилния RSA частен ключ за публичния ключ в акаунта в github. Мога да направя ssh -T [email protected] съвсем добре.
[jenkins@slave3 ~]$ ssh -T [email protected] Здравей, моя акаунт! Успешно се удостоверихте, но GitHub не предоставя достъп до обвивката.
По-долу е файлът /home/jenkins/.ssh/config
Хост github.com HostName github.com Потребител git IdentityFile ~/.ssh/myprivate-key StrictHostKeyChecking не
Опитах се да използвам порт 443 за ssh връзка, но изглежда мрежата ми не го харесва. Преди да променя конфигурационния файл да използва порт 443, тествам ръчно с командата
ssh -T -p 443 [email protected]
- Създадох основен шел скрипт и го оставих да се изпълнява на всеки 10 секунди. Открива неуспешни ssh връзки, но не толкова често, колкото срещам на jenkins.
Забележка: моля, не маркирайте това като дубликат. Потърсих някои от проблемите с връзката с github като тези:
Дженинс: Неуспешно свързване с хранилище
Не може да се удостовери с GitHub
Но те дори далеч не си приличат