0

Subversion を使用していますが、うまくいっています。適切なレベルでのリリースを示すために、必要に応じてブランチとタグを積極的に使用しています。

ただし、リリース管理ツールを探しています。基本的に、実行する必要があることは比較的単純です。

  1. 関連するコードを Subversion から (タグに基づいて) 取得します。
  2. 準備作業を行います (例: tar に入れる、特定のディレクトリを除外する)。
  3. 監査証跡 (「ユーザー X がこのリリースを実行しています」)
  4. 電子メールの証跡 (リリース要求を示す電子メールを送信します)。
  5. インストールを実行します。

このようなこと (リリース要求) を処理するために、以前に独自の Web ベースのシステムを作成しました。実際、私たちが求めているのはワークフローのほうです。

SVN 自体を使用してさまざまなサーバーを更新できることは承知していますが、これは適切ではありません。セキュリティ層が使用されているため、SVN 自体を使用して運用サーバーを更新することは望ましくありません。現在、運用チームによってリリースに応じて tar ファイルが抽出されます。開発者はこのレベルのアクセス権を持っていないため、ある程度の分離があります。

ソフトウェアは Perl で作成されているため、ビルド管理ツールは必要ありません。Subversion ではすべて安全で健全です。重要なのは、すべてにタグを付けて準備ができたら、デプロイです!

ご入力をお待ちしております。

4

2 に答える 2

1

展開を最新かつ正確に保つために必要な労力は非常に難しいと思うので、私はこれらの種類のものを使用する傾向はありませんが、それはソフトウェアと展開ターゲットの種類に依存すると思います (たとえば、方法はありません)。私のアリーナのクライアントへの展開を自動化しますか!)。

ただし、あなたに合うかもしれないThoughtworksのGo 、またはuDeployがあります。高価なツールの使用には細心の注意を払っていましたが、私が使用したツールは非常に恐ろしいものでした。

Jenkins を簡単に見てみたいと思うかもしれませんが、解決した問題を解決してくれることはわかっていますが、(ビルドに加えて - perl スクリプトを実行することもできます) ビルドをパッケージ化し、電子メールと監査を行うことができます。あなたが望んでいたワークフロー。インストールを実行できる場合もありますが、それはインストール システムによって異なります。Jenkins は優れたソフトウェアであり、とにかく調べる価値があります。少し妥協するだけで、既存のシステムに適合すると思います。

実際の展開では、Puppetのようなものを使用して、完了した手順に関するフィードバックも提供できます。

于 2012-05-23T13:06:06.690 に答える
0

従来のアプローチではautomake、配布用の tarball を使用し、その後に単純なシェル スクリプトを使用して追加の手順を実行します。これはかなり迅速に作成する必要があり、簡単に変更できます。

于 2012-05-23T12:28:12.860 に答える