1
resposta

[Dúvida] Falha no build Jenkins

Ao tentar fazer o build no Jenkins, ocorre uma falha. Alguém sabe como solucionar? Desde já agradeço.

Console Output:

Started by user Aluno Alura
Running as SYSTEM
Building in workspace /var/lib/jenkins/workspace/jenkins-todo-list-principal
[WS-CLEANUP] Deleting project workspace...
[WS-CLEANUP] Deferred wipeout is used...
[WS-CLEANUP] Done
The recommended git tool is: NONE
using credential github-ssh
Cloning the remote Git repository
Cloning repository git@github.com:joaomatozinhos/jenkins-todo-list.git
 > git init /var/lib/jenkins/workspace/jenkins-todo-list-principal # timeout=10
Fetching upstream changes from git@github.com:joaomatozinhos/jenkins-todo-list.git
 > git --version # timeout=10
 > git --version # 'git version 2.17.1'
using GIT_SSH to set credentials github-ssh
Verifying host key using known hosts file
You're using 'Known hosts file' strategy to verify ssh host keys, but your known_hosts file does not exist, please go to 'Manage Jenkins' -> 'Security' -> 'Git Host Key Verification Configuration' and configure host key verification.
 > git fetch --tags --progress -- git@github.com:joaomatozinhos/jenkins-todo-list.git +refs/heads/*:refs/remotes/origin/* # timeout=10
ERROR: Error cloning remote repo 'origin'
hudson.plugins.git.GitException: Command "git fetch --tags --progress -- git@github.com:joaomatozinhos/jenkins-todo-list.git +refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout: 
stderr: No ECDSA host key is known for github.com and you have requested strict checking.
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2846)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:2185)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:635)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$2.execute(CliGitAPIImpl.java:871)
    at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1222)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1305)
    at hudson.scm.SCM.checkout(SCM.java:540)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1248)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:649)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:85)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:521)
    at hudson.model.Run.execute(Run.java:1895)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44)
    at hudson.model.ResourceController.execute(ResourceController.java:101)
    at hudson.model.Executor.run(Executor.java:442)
ERROR: Error cloning remote repo 'origin'
Finished: FAILURE
1 resposta

Olá, João.

Tudo bem?

Pelo que você descreveu e pelo log do console que você forneceu, o problema que você está enfrentando no Jenkins está relacionado à verificação da chave SSH do host do GitHub. O erro específico mencionado é:

stderr: No ECDSA host key is known for github.com and you have requested strict checking.
Host key verification failed.

Isso significa que o Jenkins não tem a chave do host do GitHub em seu arquivo known_hosts, o que é necessário para estabelecer uma conexão SSH segura. Para resolver esse problema, você precisa adicionar a chave do host do GitHub ao arquivo known_hosts do Jenkins. Aqui estão os passos que você pode seguir:

  1. Acessar o servidor Jenkins via SSH:

    • Faça login no servidor onde o Jenkins está hospedado.
  2. Adicionar a chave do host do GitHub ao arquivo known_hosts:

    • Você pode fazer isso manualmente executando o seguinte comando no terminal do servidor Jenkins:
      ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
      
    • Este comando irá buscar a chave pública do host do GitHub e adicioná-la ao arquivo known_hosts do usuário sob o qual o Jenkins está sendo executado.
  3. Reiniciar o Jenkins:

    • Após adicionar a chave do host, pode ser uma boa ideia reiniciar o serviço Jenkins para garantir que todas as configurações sejam recarregadas:
      sudo systemctl restart jenkins
      
  4. Testar o Job novamente:

    • Depois de reiniciar o Jenkins, tente executar o job novamente para ver se o problema com a verificação da chave do host foi resolvido.

Esses passos devem ajudar a resolver o problema de verificação da chave do host que está impedindo o Jenkins de clonar o repositório do GitHub. Lembre-se de que é importante garantir que o Jenkins tenha as permissões adequadas para acessar o arquivo known_hosts e que a chave SSH correta esteja configurada nas credenciais do Jenkins.

Qualquer coisa dá uma olhada nessa solução: Solução erro No ECDSA

Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software