自動化を構築からsubversionタグ
-
22-08-2019 - |
質問
ようにしている自動化のプロセス工学グループその一環として、自動化、私ることができるように、法の適用による特定のタグを遵守するパターンをキックオフの自動化プロセスには、以下の
- チェックソースコード
- を構成スクリプトからテンプレート
- プロジェクトをビルドする
思一部として、予想以上に興味深いことに、subversionのフックが、私はそうとしていることになること以外のものsubversionのフック。
- う意味でのモニタタグのディレクトリのsubversionリポジトリのキックオフの私のワークフロー?
- あべのツールすること(.純ば良いとも思います。
- Am Iないほうがよいだエンジンなのか。
私の設定:
- 既存製品との全部または一部について
- が開発メカニズムの事例の発生.純が好ましい
- 動作ウィンドウ(またLinuxベースのレポ-レートがビルドの起きるwindows)
解決
私はハドソンを好き - セットアップが簡単で、SVNで箱から出して動作します。
あなたはすべてのコミット上に構築するように設定することができます。
私はそれをダウンロードして日以内にそれを構築し始めました。これは、微調整をたくさん経験してきたが、私は誰にもそれをお勧めします。
私はまた、クルーズコントロールを使用しますが、その場合と同様に満足していないしています。私は、クロスプラットフォームの問題以外の任意の特定の理由を持っていません。
EDIT
私は最近、グーグル/ Gmailのジャバーチャットをリッスン私のハドソンのビルドサーバー上のジョブを追加しました。私は「通常の」このメカニズムでリリースビルドを構築「を推進」することができます。私はちょうど促進/リリース候補にプライベートビルドを公開するために必要な手順を行い、新たなジョブを設定します。
他のヒント
私はハドソンを使用して、これをやりました。
:通常のSubversionのチェックアウトスロットでは、私はトランクのチェックアウトを持っていますhttp://dryad.googlecode.com/svn/trunk/dryadする
そして、最初のビルドアクションとして、私は「シェルを実行」し、そのシェルで、リポジトリ内の最新のタグに変更するためにはsvnスイッチを使用しています:
のsvnスイッチ http://dryad.googlecode.com/svn/tags/する」 svn lsの http://dryad.googlecode.com/svn/tagsする |テール-n 1' ドライアド
は次のビルドステップは、タグ付けされたバージョンからのコードを使用してビルドを起動するコマンドを「クリーンインストール」達人です。
私はむしろスイッチを行うに持つよりも、最新のタグ付きバージョンで開始するハドソンを取得する方法はまだ考え出したていないが、スイッチは動作します。あなたは、タグディレクトリが更新されたときにトリガがあることができます。
これは...その場しのぎのビットを自動化されたが、それは作品だ...
スイッチが第二のsvnコマンドのバッククォートを含むが、バッククォートがここに表示されていなかったので、 'を使用しなければならなかったはずです。
あなたはCruiseControlのかハドソンのような継続的な統合ビルドエンジン何か後にしているような音(ハドソンのJavaで書かれたが、Windowsで使用することは非常に簡単です)。
これで、タグのディレクトリを見て、これらのツールのためのビルドスクリプトをごまかすこともできますが、それらは特定の場所を見て、その場所でプロジェクトをビルドすることを目的としているとして、それは少し穀物に反します。あなたは全体のタグディレクトリを見れば、あなたは簡単にビルドマシン上でチェックアウトされるすべてのタグで終わる可能性があり、あなたが構築するためにどのタグかを決定するために、トップレベルのスクリプトが必要と思います。
あなたが望むもののために、ビルドエンジンは、特定の場所(例えば「/支店/リリースを」)見ることができます。あなたは、そのブランチにマージする場合は、ハドソンは自動的に、プロジェクトをビルド成果物をアーカイブし、見る(全て成功した場合、あなたのためのタグを作成します。 Subversionのタグ付けプラグイン)。
私はそれがフェーズコミットは時間がかかりすぎるなるため、ポストコミットフックからこの種のものをやって好きではありません。しかし、チームシティーは、それがコミットながらあなたを保持せずにまさにその機能を持っているソース管理システムである。
私はこのためにハドソンをお勧めします。
CruiseControl.Net を容易Subversionリポジトリからの自動構築を自動化することができます。
これは、リポジトリ(SVN及びいくつかの他のタイプ)を監視し、自動的にさまざまなツールを使用して構築し始めることができます。 (NAntの、MSBuildの、等。)
市販の製品は、まさにこの目的のために、このサイトで宣伝されています!
http://www.finalbuilder.com/Default.aspx?tabid=314 の
あなたはそれがタイムスケジュールを実行したい場合を除き、ビルドの開始をトリガするためにSVNにポストフックを追加する必要があります。
私はまた、このためにハドソンをお勧めします。私は、似た何かをするタグを作成し、ビルドオフそのキックを持って探していました。代わりに、私はハドソンのために、このプラグインを使用することにしました。
http://wiki.hudson-ci.org/display/HUDSON/
のリリース+プラグインとタグの作成と明示的なリリースビルドを駆動するために、これを使用します。
を使用してい NAnt ( NAntContrib)のための自動構造を作成する環境が整いましたで自動的にチェックsubversionのリポジトリの変更および(場合)が最新のソースコード版を始める。
んしてお使いいただく場合には、既存の課題をなんでもでご利用いただけますと、必要な場合は、延長することの課題はお客様の特別なニーズで開発した。して順調なものではなかった。
他の人が言ったように、継続的統合サーバー (CruiseControl、CruiseControl.Net、Hudson など) が必要です。ビルド スクリプトに取り組んで、説明した機能を実行するフックをコミットすることもできますが、最終的には車輪 (継続的インテグレーション サーバー) を再発明したことになるでしょう。その必要はありません。この目的のためだけに無料で利用できるソリューションがあります。
このプロセスは、上記で説明したものとは少し異なります。ビルド サーバーは次のことを行います。
- 新しいコミットを検出する
- ソースコードをチェックアウトする
- ビルドスクリプトを実行する
- 成功したビルドにタグを付ける
コミットによってプロセスがトリガーされ、タグがプロセスをトリガーするのではなく、タグが作成されます。サーバーは、コミットフックではなく、svn リポジトリを監視してこれを行います。
このテーマに関する CruiseControl.Net のドキュメント、特にオプション tagOnSuccess および tagBaseUrl を確認してください。Hudson と CruiseControl には同様のオプションがあるはずです。
http://confluence.public.thoughtworks.org/display/CCNET/Subversion+Source+Control+Block