2012-03-12 10 views
1

私はローカルのgitリポジトリを持っていて、働いているジェンキンプロジェクトも持っています。git pushを実行する前にジェンキンを設定するチュートリアル

私はリモートレポに変更をプッシュする前にジェンキンスプロジェクトが実行されますように、ジェンキンスタスクをフックしたい、とのテストがのが成功いけない場合Gitは、私はこれがあるべきと思っ

プッシュを停止かなり一般的なシナリオですが、私は周りにグーグルで遊んでいて、チュートリアルの説明を見つけることができませんでした。

+0

これは私が今までに見つけた最も近いものです:http://wiki.hudson-ci.org/display/HUDSON/Git+Plugin#GitPlugin-AdvancedFeatures – opensas

答えて

1

ジェンキンスは変更を監視しています。最後のビルドステップ(他のすべてが成功した後)では、変更を実際のリモートリポジトリにプッシュすることができます。

+0

非常に良いアイデア! – opensas

2

私は野生でこのシナリオを見ていない理由は、分離したブランチとは対照的に別のreposを使用することで、きれいなコード/これは標準です。

代わりに、Jenkinsが聞いているリモートが1つあり、おそらく 'dev'ブランチを聞いています。ローカルからリモートのdevブランチにプッシュします。ジェンキンスは聞き取り、変化を見る時に構築し、見ているものが好きならば、それを「マスター」にマージします。

あなたの汚れたコードは、あなたのmasterブランチのクリーンコードとは別にdevブランチにあります。

これは、このタイプの問題を解決するための従来の方法です。おそらく、このモデルのサポートが増えます。

+0

ありがとう、実際には、それを達成するための最良の方法が何であるか知りたいのですが... – opensas

+1

申し訳ありませんが、あなたの質問や別の枝に別の* repos *それが後者なら、これをチェックしてください:http://twasink.net/2011/09/20/git-feature-branches-and-jenkins-or-how-i-learned-to-stop-worrying-about-broken -builds /。これはほんの一例かもしれませんが、正しいアイデアを提供する必要があります –

2

これは実際にはかなり一般的なシナリオですが、それが達成するのは容易ではありません。

最初に行うべきことは、Jenkins official documentationを読むことです。

そこから、this oneのような特定の記事を読むことができます。これは、好きなものと同じようなことをする1つのフックについて語ります。

関連する問題