9

現在、手作業によるセットアップおよび構成スクリプトと、手作業による継続的インテグレーション スクリプトを使用して、アプリケーションをビルドおよびデプロイしています。これらの目的のために設計されたサードパーティのシステムを使用して、これをある程度形式化することを検討しています。

以前に Phing を調べたことがありますが、基本的には Ant に似ていることがわかりました。しかし、私の Ant の経験は多少限られているため、あまり役に立ちません。(私が行った Java 作業のほとんどは、jar ファイルとしてデプロイされただけです)。

以前にクルーズ コントロールを調べたことがありますが、phpUnderControl が CC のプラグインであることは理解しています。しかし、Phing は、CC でも動作すると述べています。したがって、ここでの重複については明確ではありません。CruiseControl を使用するには Phing と phpUnderControl の両方が必要ですか、それとも相互に排他的ですか?

私が正確に必要としているのは、次のことができるものです。

  • SVN からソースをチェックアウト
  • SQL ファイルからデータベースをインストールする
  • 一連のテンプレートと ini ファイルからいくつかのローカル構成ファイルを生成します
  • すべての単体テスト (現在は ST ですが、PHPUnit に簡単に変換できます) を実行し、テストが壊れた場合は開発チームにメールを送信します (もちろんスタック トレース付き)。
  • アプリケーションの API ドキュメントを生成し、どこかに置く
  • テスト カバレッジ レポートを実行する

現在、私たちはこれらすべてを何らかの形で持っています。しかし、すべてが自動化され、1 つのプロセスにまとめられると便利です。

4

3 に答える 3

8

phing は PHP で書かれた ant であり、phpUnderControl は PHP プロジェクトのサポートを CruiseControl に追加し、バックエンドで phing または ant を使用して build.xml ファイルを解析し、コマンドを実行します。

CruiseControl と phpUnderControl をセットアップしたところ、うまく機能しています。私の SVN をチェックアウトし、チェックインするたびに phpDocumentor、PHP_CodeSniffer、および PHPUnit を介して実行します。すべて build.xml ファイルに基づいているため、必要なソフトウェアをほぼすべて実行できます。

于 2008-09-26T19:14:41.717 に答える
2

私たちは Phing を使用してきましたが、セットアップのコストは非常に低かったです。ANT を知らなくても簡単に習得できます。私は CruiseControl で非常に悪い経験をしたことがあります (不安定 - ランダムにダウンする) ので、Phing のシンプルさが気に入っています。さらに、PHP を使用して簡単に拡張できます (標準ではサポートされていないカスタム タスクがある場合)。

于 2008-09-26T20:25:42.140 に答える
2

私がこれを書く頃には、多くの人がそう言っていると思いますが...

PHP ではないことはわかっていますが、Capistranoはこの種の作業に適していることがわかりました。それは本当に優れたソフトウェアです。

于 2008-09-26T19:10:10.760 に答える