Configurando o Jenkins para rodar com o BitBucket [closed]

2

Estou tentando configurar o Jenkins no meu mac mini para extrair o código-fonte do meu projeto iOS do BitBucket e criá-lo automaticamente. Já passei pelos principais problemas bem conhecidos gerando as chaves ssh, fazendo o upload deles no BitBucket, realizando uma conexão ssh pelo console para adicionar o host à lista bem conhecida (você pode encontrar toda a minha aventura aqui ). Agora, existem 3 usuários no meu sistema: A, B e Shared. Quando eu instalei o Jenkins ele automaticamente se colocou em Shared, mas eu gerava as chaves ssh com o usuário A. Então, só para ficar claro No diretório home existe um diretório .ssh com chaves públicas e privadas.

Quando tento executar pelo trabalho de Jenkins, recebo esta mensagem de erro:

Started by user anonymous
Building in workspace /Users/Shared/Jenkins/Home/jobs/myprojectAdHocBuild/workspace
Checkout:workspace / /Users/Shared/Jenkins/Home/jobs/myprojectAdHocBuild/workspace - hudson.remoting.LocalChannel@625cb0bb
Using strategy: Default
Cloning the remote Git repository
Cloning repository [email protected]:myuser/myproject.git
git --version
git version 1.8.0
ERROR: Error cloning remote repo 'origin' : Could not clone [email protected]:myuser/myproject.git
hudson.plugins.git.GitException: Could not clone [email protected]:myuser/myproject.git
    at hudson.plugins.git.GitAPI.clone(GitAPI.java:271)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1036)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:978)
    at hudson.FilePath.act(FilePath.java:851)
    at hudson.FilePath.act(FilePath.java:824)
    at hudson.plugins.git.GitSCM.determineRevisionToBuild(GitSCM.java:978)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1134)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1325)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:676)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:581)
    at hudson.model.Run.execute(Run.java:1516)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:236)
Caused by: hudson.plugins.git.GitException: Command "/usr/local/git/bin/git clone --progress -o origin [email protected]:myuser/myproject.git /Users/Shared/Jenkins/Home/jobs/myprojectAdHocBuild/workspace" returned status code 128:
stdout: Cloning into '/Users/Shared/Jenkins/Home/jobs/myprojectAdHocBuild/workspace'...

stderr: 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 hudson.plugins.git.GitAPI.launchCommandIn(GitAPI.java:885)
    at hudson.plugins.git.GitAPI.access$000(GitAPI.java:40)
    at hudson.plugins.git.GitAPI$1.invoke(GitAPI.java:267)
    at hudson.plugins.git.GitAPI$1.invoke(GitAPI.java:246)
    at hudson.FilePath.act(FilePath.java:851)
    at hudson.FilePath.act(FilePath.java:824)
    at hudson.plugins.git.GitAPI.clone(GitAPI.java:246)
    ... 14 more
Trying next repository
ERROR: Could not clone repository
FATAL: Could not clone
hudson.plugins.git.GitException: Could not clone
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1048)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:978)
    at hudson.FilePath.act(FilePath.java:851)
    at hudson.FilePath.act(FilePath.java:824)
    at hudson.plugins.git.GitSCM.determineRevisionToBuild(GitSCM.java:978)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1134)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1325)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:676)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:581)
    at hudson.model.Run.execute(Run.java:1516)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:236)

Como você pode ver, ele falha quando o Hudson tenta executar o comando GIT. As coisas estranhas é que, se eu tento executar

/usr/local/git/bin/git clone --progress -o origin [email protected]:myuser/myproject.git /Users/Shared/Jenkins/Home/jobs/myprojectAdHocBuild/workspace

No meu console, funciona bem (depois de consertar um pequeno problema relativo a permissão de gravação da pasta com chmod )

Eu encontrei uma postagem relatando um erro semelhante que nomeia várias opções possíveis, mas não sei como executar corretamente essas operações no meu console. Parece que Jenkins está tentando executar um comando com um usuário que não tem permissão para recuperar as chaves apropriadas do meu diretório .ssh.Não tenho certeza.Talvez essa saída possa ajudar:

MacMini:~ myuser$ ps axu | grep "/jenkins"
myuser      11660   0.0  4.6  2918124  97096   ??  S     6:59pm   1:05.63 /usr/bin/java -jar /Users/myuser/Library/Caches/org.jenkins-ci.jenkins/jenkins.war
jenkins         9896   0.0  9.0  2939824 188552   ??  Ss    4:06pm  17:55.91 /usr/bin/java -jar /Applications/Jenkins/jenkins.war
myuser      11930   0.0  0.0  2432768    588 s000  S+   10:28am   0:00.00 grep /jenkins
MacMini:~ myuser$ ps axu | grep tomcat
myuser      11932   0.0  0.0  2432768    588 s000  S+   10:28am   0:00.00 grep tomcat
MacMini:~ myuser$ 

Eu realmente espero corrigir esse problema, porque gostaria de escrever um tutorial bem detalhado com todas as informações que encontrei disseminadas pela web.

    
por Claus 08.11.2012 / 11:22

1 resposta

0

Ok, talvez eu tenha encontrado a solução aqui: link

    
por 08.11.2012 / 12:19

Tags