与到位桶配置詹金斯(Configuring Jenkins with Bitbucket)

2019-09-21 13:22发布

我似乎已经卡住了试图詹金斯(Ubuntu的一个EC2 AWS实例)与到位桶链接。

每当我尝试建立我的项目(我已经安装上詹金斯git的插件)我得到...

Building in workspace /var/lib/jenkins/jobs/Google adwords/workspace
Checkout:workspace / /var/lib/jenkins/jobs/Google adwords/workspace - hudson.remoting.LocalChannel@2c473996
Using strategy: Default
Cloning the remote Git repository
Cloning repository origin
ERROR: Error cloning remote repo 'origin' : Could not clone git@bitbucket.org:DAVID99WORLD/assessme.git
hudson.plugins.git.GitException: Could not clone git@bitbucket.org:DAVID99WORLD/assessme.git
    at hudson.plugins.git.GitAPI.clone(GitAPI.java:268)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1122)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1064)
    at hudson.FilePath.act(FilePath.java:842)
    at hudson.FilePath.act(FilePath.java:824)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1064)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1256)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:589)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:494)
    at hudson.model.Run.execute(Run.java:1502)
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:477)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:236)
Caused by: hudson.plugins.git.GitException: Command "git clone --progress -o origin git@bitbucket.org:DAVID99WORLD/assessme.git /var/lib/jenkins/jobs/Google adwords/workspace" returned status code 128:
stdout: Cloning into '/var/lib/jenkins/jobs/Google adwords/workspace'...

stderr: Host key verification failed.
fatal: The remote end hung up unexpectedly

很好 - 这看起来像它试图去通过ssh却找不到钥匙。 所以我想生成密钥,下~/.ssh我已经拿到了文件authorized_keysknown_hosts ,但根据这里的文档...

https://confluence.atlassian.com/display/BITBUCKET/How+to+install+a+public+key+on+your+bitbucket+account

我应该把〜/ .ssh名为id_rsa下的文件

我一直在关注的文件...

https://confluence.atlassian.com/display/BITBUCKET/Using+the+SSH+protocol+with+bitbucket

但它看起来几乎任何一半完成或我缺少其中关键被放置在正确的文件位。

首先 - 我的假设是正确的,这是一个ssh问题? 其次,如果是,没有人知道如何得到的钥匙匹配,从而詹金斯可以使拉动和建设?

编辑:我认为这是一个ssh问题,因为这个问题詹金斯构建使用Git与部署的关键是有关,但我使用到位桶,而不是github上。

Answer 1:

你需要生成密钥文件上传到您的帐户到位桶。 从运行詹金斯的用户,请执行以下操作:

ssh-keygen -t rsa

就拿密钥文件位置的默认并保留密码为空。 然后,您将有把〜/ .ssh / id_rsa.pub文件上传到到位桶。



Answer 2:

我正在读这篇文章,因为我有同样的问题,我发现一些有用的东西现在。

我的配置我有,我已经安装了标准的Git的从建筑物服务器(Win7-64机)(安装过程中,我选择了第三个选项:“运行Git和包括从窗口的命令提示符的Unix工具”)詹金斯配置与Java Web Start的。

我注意到,如果我从Git的执行shell命令

SSH -vT git@bitbucket.org

我可以与服务器收到消息验证

还可以使用Git或HG连接到位桶。 壳牌访问是禁用的。

但是,如果我从CMD执行相同的命令,我得到

权限被拒绝(公钥)

我不知道,但我认为Git插件可从窗口外壳执行命令,而不是与git的外壳(如我所料),因此这可能确定在构建一个身份验证问题。

在Git的插件文档有一个名为“有些窗户的乐趣”小节建议的Git文件夹下的.ssh用户的文件夹复制(在我的情况下,C:\ Program Files文件(x86)的\ GIT)。

这样做之后,从Windows外壳我跑SSH -vT git@bitbucket.org和它的工作(如果它不工作,尝试重新启动壳或整台计算机)。 然后,我跑到离詹金斯构建,最后它的工作。

我希望这可以帮助。

祝好运。



文章来源: Configuring Jenkins with Bitbucket