web-dev-qa-db-ja.com

Atlassian StashでJenkinsを使用するにはどうすればよいですか?

Jenkinsをセットアップしたばかりで、Stashにいくつかのリポジトリがあります。 jenkinsに「Gitプラグイン」をインストールしました。これでリポジトリのURLを入力できますが、資格情報を入力するものがありません。

それを使用することが可能です

http://username:password@mydomain/xx/yy.git 

しかし、それは私がやりたくないことです。

認証するために他に何ができますか?

12
CBergau

私はあなたを助けるかもしれないこのstashプラグインの作者です: https://github.com/palantir/stashbot

Readmeから選択的に取得:

Jenkinsを使用するには、最初に次のjenkinsプラグインをインストールする必要があります。

  • JenkinsGITプラグイン
  • ビルド後のタスク

次に、プラグインSDKを使用してプラグインをビルドしてインストールします(詳細はreadmeを参照してください)。

次に、stash管理者はStashbot管理ページに移動し、jenkinsサーバー構成を作成します。ここで、jenkinsサーバーのURL、ユーザー名/パスワードなどの詳細を指定します。

次に、リポジトリごとに、リポジトリ管理者用の「StashbotCIAdmin」リンクが表示されます。そこから、[有効]チェックボックスをオンにして、ビルドするブランチ(正規表現を介して)と、ビルドを実行するために実行するコマンド(オプションで検証および公開)を指定できます。

この時点以降、残りは完全にセルフサービスになります。すべてのリポジトリ管理者は、そのフォームに入力することでプロジェクトに「CIを持つ」ように要求でき、ジョブはjenkinsサーバーに自動的に作成されます。

お役に立てば幸いです。

8
cmyers

Jenkinsビルドを実行するユーザーのSSHキーを設定し、StashのリポジトリのSSHキーに追加します。手順については、 Stash docs を参照してください。

6
gareth_bowles

ガレスの答えに追加する2つのこと。

  1. SSHキーの使用は、ユーザー名/パスワードをハードコーディングするよりも間違いなく優れていることに同意しますが、CIに関しては、Stash(現在) より適切にスケーリング HTTPを使用することを言及する価値があります。ビルドがかなりある場合は、通常、HTTPを使用することをお勧めします。現在、SSHをサポートするようにGitキャッシュのサポートを拡張しているため、これは問題ではなくなりました。

  2. やや関連して、次の feature を監視して投票することに興味があるかもしれません。これにより、CI固有のキーの作成が容易になります。

最後に、ビルドアイコンをStashに表示することは驚くほど便利です。まだ読んでいない場合は、次のプラグインを確認する必要があります。

https://github.com/jenkinsci/stashNotifier-plugin

5
charleso

Jenkins用の「Gitプラグイン」のバージョン2.0以降、sshとユーザー名/パスワードの両方に必要な資格情報を直接追加できるようになります(資格情報プラグインに基づく)。

詳細については、Gitプラグインの変更ログを参照してください: https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin#GitPlugin-Changelog

プルリクエストに関するgitとstashをさらに統合するには、stashに「StashWebhook for jenkins」アドオンを追加し、jenkinsが相互に接続するための「StashNotifier」プラグインが必要です。

4
Andreas Falk