2011-06-27 4 views
10

gitからmasterにビルドするとき、jenkinsはorigin/masterを取り出して使用します。 gitからブランチをビルドするとき、ジェンキンはフェッチし、ユーザーはmybranchを起点/ mybranchではなく、変更を取得しません。jenkins git pluginを使ってブランチからビルドするには、起点を含むかどうかを指定してください。

起点/ mybranchを使用するように分岐指定を切り替えました。物事を扱う標準的な方法か、これを行うためのより明白な方法が欠けていますか?私は不必要な複雑さを加えたくありません。

ジェンキンズがブランチ・ビルド(Branches-To-Build)フィールドにbranchnameの代わりにオリジン/branchnameを使用する必要がある場合は教えてください。

おかげ

ピーター

答えて

2

あなたの現在の.git/configのを確認し、あなたがあなたの「起源」とどのようにマスタが起源に関係が既に指定されていることがわかります。他のブランチは指定されないので、プラグインはURLを構築できません。 ...

[remote "origin"] 
     url = ssh://myserv/srv/git/proj.git 
     fetch = +refs/heads/*:refs/remotes/origin/* 
[branch "master"] 
     remote = origin 
     merge = refs/heads/master 
[branch "im_a_branch"] 
     remote = origin 
     merge = refs/heads/im_a_branch_remote_branch_name 

をさらに枝を追加するにはこれがちょうどジェンキンスのフィールドを構築するために支店で支店名入れすることができますでしょう。それは恐らく過剰なものであり、余分なメンテナンスです。原点に置くだけです。

+3

Jenkinsは、リポジトリの初期クローンを作成します。これで問題は解決されません。 – djs

+0

右。ジェンキンズにはあまり役に立ちませんが、一般的には知っておきたいことです。私はマスターリポジトリを変更することができ、おそらく私のユーザーはやや幸せになるでしょう。 –

3

リモート・リポジトリが1つしかない場合(originという名前の場合)、branchnameと入力することは、origin/branchnameの入力と同義である必要があります。複数のリポジトリがあり、branchnameと入力した場合は、そのブランチのすべてのリモートリポジトリをチェックする必要があります。

Jenkinsワークスペースリポジトリに手動でbranchnameという名前のブランチを作成した場合、動作が少し変わっている可能性があります。そのブランチを削除するか、ワークスペースを再作成することをお勧めします。一般的に、ワークスペースリポジトリ内のブランチを手動で操作しないでください。

ポーリングや変更のためにローカル(非リモート)ブランチを使用することは決してあってはなりません。あなたがこれを行うのを見ているなら、間違いなくバグです。あなたのjenkinsインスタンスとgitプラグインを最新のバージョンにアップグレードしてください。問題がまだ見える場合は、file an issue(そしてその間に回避策としてorigin/branchnameを使用することができます)。しかし、ちょうどbranchnameと入力すると最新のバージョンでうまく動作するので、この問題が引き続き発生する場合は、クリーンなリポジトリを取得するためにワークスペースを再作成することをお勧めします。

+1

リモコン/原点/ **枝を除く全てのリモコン/原点/ **枝を拾うようにビルドしてください。リモコン/原点/ GEコードとリモコン/原点/ puecodeはマスターから遠いですが、どのように私はそれらを無視するのですか? –

関連する問題