Jenkins + Gerritの使用に問題があります。
これが私がこれまでに得たものです:
JenkinsでのGerritTrigger構成は問題ないようです:新しいチェンジセットをプッシュすると、Jenkinsビルドが起動します。
私はこれを使用しました: Jenkins:Gerrit Trigger問題の設定 「手動で」起動することもできます。
私の設定に関しては、私は次のようなものを持っています: https://stackoverflow.com/a/18347982/2248987 。ブランチ指定子は$ GERRIT_BRANCHであり、参照仕様は$ GERRIT_REFSPECです。
GerritとGitは独自に罰金を科しています。アクセスもOKのようです。
これが私の問題です。ビルド時(gerritトリガーまたは手動)、ログ出力は次のとおりです。
> git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> git config remote.Origin.url ssh://user@Host:29418/testproject # timeout=10
Fetching upstream changes from ssh://user@Host:29418/testproject
> git --version # timeout=10
using GIT_SSH to set credentials
> git -c core.askpass=true fetch --tags --progress ssh://user@Host:29418/testproject refs/heads/master
> git rev-parse Origin/$GERRIT_BRANCH^{commit} # timeout=10
> git rev-parse $GERRIT_BRANCH^{commit} # timeout=10
ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job.
Finished: FAILURE
私はこのメッセージで立ち往生していて、空のリポジトリ、空でないリポジトリ、そして「レビュー中」のチェンジセットの有無にかかわらず試してみました
以前はこの問題が発生していましたが、現在は修正されていると思います。いくつかの重要な構成要素を非表示にしたことでJenkins UIを非難しています;)
修正前のJenkinsビルドの出力は次のとおりです。
Triggered by Gerrit: https://bbpcode.epfl.ch/code/15056
[EnvInject] - Loading node environment variables.
Building remotely on rh6.6-02 (AMD64-RedHatEnterpriseServer 6.6 RedHatEnterpriseServer AMD64-RedHatEnterpriseServer-6.6 rh6.x RedHatEnterpriseServer-6.6 AMD64) in workspace /var/tmp/jenkins/workspace/datamining.nip-commons.gerrit
> /usr/bin/git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> /usr/bin/git config remote.Origin.url ssh://bbpcode.epfl.ch/datamining/nip-commons # timeout=10
Fetching upstream changes from ssh://bbpcode.epfl.ch/datamining/nip-commons
> /usr/bin/git --version # timeout=10
> /usr/bin/git fetch --tags --progress ssh://bbpcode.epfl.ch/datamining/nip-commons +refs/heads/*:refs/remotes/Origin/*
> /usr/bin/git rev-parse 74e4ff18f54bd6e046f7af016614193f566adfe4^{commit} # timeout=10
ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job.
Started calculate disk usage of build
Finished Calculation of disk usage of build in 0 seconds
Started calculate disk usage of workspace
Finished Calculation of disk usage of workspace in 0 seconds
Finished: FAILURE
[〜#〜]ソリューション[〜#〜]
以下に示すように、ビルド構成を開き、「ソースコード管理」セクションに移動する必要があります。
「詳細」ボタンがあることに気付くでしょう。それをクリックすると、以下のような追加のフィールドが表示されます。
これで、ここにrefspecを入力できます:$ GERRIT_REFSPEC
ここで、失敗したビルドを再トリガーするか、レビューを破棄して新しいレビューを送信すると、機能するはずです。
適切なrefspecができたので、Jenkinsジョブの出力は次のとおりです。
Retriggered by user kerrien for Gerrit: https://bbpcode.epfl.ch/code/15056
[EnvInject] - Loading node environment variables.
Building remotely on rh6.6-02 (AMD64-RedHatEnterpriseServer 6.6 RedHatEnterpriseServer AMD64-RedHatEnterpriseServer-6.6 rh6.x RedHatEnterpriseServer-6.6 AMD64) in workspace /var/tmp/jenkins/workspace/datamining.nip-commons.gerrit
> /usr/bin/git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> /usr/bin/git config remote.Origin.url ssh://bbpcode.epfl.ch/datamining/nip-commons # timeout=10
Fetching upstream changes from ssh://bbpcode.epfl.ch/datamining/nip-commons
> /usr/bin/git --version # timeout=10
> /usr/bin/git fetch --tags --progress ssh://bbpcode.epfl.ch/datamining/nip-commons refs/changes/56/15056/2
> /usr/bin/git rev-parse 74e4ff18f54bd6e046f7af016614193f566adfe4^{commit} # timeout=10
Checking out Revision 74e4ff18f54bd6e046f7af016614193f566adfe4 (dev)
> /usr/bin/git config core.sparsecheckout # timeout=10
> /usr/bin/git checkout -f 74e4ff18f54bd6e046f7af016614193f566adfe4
> /usr/bin/git rev-parse FETCH_HEAD^{commit} # timeout=10
> /usr/bin/git rev-list 2649d51369413cef4dfb7ec50939945005514cfa # timeout=10
Cleaning workspace
> /usr/bin/git rev-parse --verify HEAD # timeout=10
Resetting working tree
> /usr/bin/git reset --hard # timeout=10
> /usr/bin/git clean -fdx # timeout=10
Triggering datamining.nip-commons.gerrit » default
datamining.nip-commons.gerrit » default completed with result SUCCESS
Started calculate disk usage of build
Finished Calculation of disk usage of build in 2 second
Started calculate disk usage of workspace
Finished Calculation of disk usage of workspace in 0 seconds
Finished: SUCCESS
あなたはそのように構成しようとすることができます
完全な構成があります に従ってください
「今すぐビルド」をクリックすると、$ GERRIT_REFSPECが存在しないため、Jenkinsはソースを取得できません。
次の設定が機能しました。「詳細」セクションでRefspecに$ GERRIT_REFSPECを入力します。 「ブランチ指定子」は空白または任意の有効な値にすることができます
$GERRIT_BRANCH
を$GERRIT_REFSPEC
に置き換えます