3

Jenkins(UbuntuのEC2 AWSインスタンス)をBitbucketにリンクしようとして立ち往生しているようです。

プロジェクトをビルドしようとすると(Jenkinsに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の問題ですか?第二に、もしそうなら、Jenkinsがプルしてビルドできるようにキーを一致させる方法を知っている人はいますか?

編集: JenkinsがGitとDeploy Keyを使用してビルドするという質問が関連していたため、これはsshの問題だと思いましたが、githubではなくbitbucketを使用しています。

4

2 に答える 2

6

BitBucketアカウントにアップロードするキーファイルを生成する必要があります。Jenkinsを実行しているユーザーから、次の手順を実行します。

ssh-keygen -t rsa

キーファイルの場所のデフォルトを使用し、パスフレーズを空白のままにします。次に、〜/ .ssh/id_rsa.pubファイルをBitBucketにアップロードします。

于 2012-08-23T17:27:53.523 に答える
1

私は同じ問題を抱えていて、今何か役に立つものを見つけたので、この投稿を読んでいました。

私の構成標準のGitをインストールしたスレーブ構築サーバー(Win7-64マシン)があります(インストール中に、3番目のオプション「WindowsコマンドプロンプトからGitと含まれるUnixツールを実行する」を選択しました)。JenkinsはJavaで構成されています。 Webスタート。

Gitシェルからコマンドを実行すると、

ssh -vT git@bitbucket.org

メッセージを受け取っているサーバーで認証できます

gitまたはhgを使用してBitbucketに接続できます。シェルアクセスが無効になっています。

しかし、cmdから同じコマンドを実行すると、次のようになります。

許可が拒否されました(公開鍵)

よくわかりませんが、Gitプラグインはgitシェルではなくウィンドウシェルからコマンドを実行すると思います(予想どおり)。これにより、ビルドでの認証の問題が特定される可能性があります。

Gitプラグインのドキュメントには、「Some windows fun」という小さなセクションがあり、Gitフォルダー(私の場合はC:\ Program Files(x86)\ Git)の下に.sshユーザーのフォルダーをコピーすることを提案しています。

その後、Windowsシェルからssh -vT git@bitbucket.orgを実行しましたが、機能しました(機能しない場合は、シェルまたはマシン全体を再起動してみてください)。次に、Jenkinsからビルドを実行し、最終的に機能しました。

これがお役に立てば幸いです。

幸運を。

于 2015-02-06T22:44:58.930 に答える