現在、手作業によるセットアップおよび構成スクリプトと、手作業による継続的インテグレーション スクリプトを使用して、アプリケーションをビルドおよびデプロイしています。これらの目的のために設計されたサードパーティのシステムを使用して、これをある程度形式化することを検討しています。
以前に Phing を調べたことがありますが、基本的には Ant に似ていることがわかりました。しかし、私の Ant の経験は多少限られているため、あまり役に立ちません。(私が行った Java 作業のほとんどは、jar ファイルとしてデプロイされただけです)。
以前にクルーズ コントロールを調べたことがありますが、phpUnderControl が CC のプラグインであることは理解しています。しかし、Phing は、CC でも動作すると述べています。したがって、ここでの重複については明確ではありません。CruiseControl を使用するには Phing と phpUnderControl の両方が必要ですか、それとも相互に排他的ですか?
私が正確に必要としているのは、次のことができるものです。
- SVN からソースをチェックアウト
- SQL ファイルからデータベースをインストールする
- 一連のテンプレートと ini ファイルからいくつかのローカル構成ファイルを生成します
- すべての単体テスト (現在は ST ですが、PHPUnit に簡単に変換できます) を実行し、テストが壊れた場合は開発チームにメールを送信します (もちろんスタック トレース付き)。
- アプリケーションの API ドキュメントを生成し、どこかに置く
- テスト カバレッジ レポートを実行する
現在、私たちはこれらすべてを何らかの形で持っています。しかし、すべてが自動化され、1 つのプロセスにまとめられると便利です。