25

Phingを使用して PHP アプリケーションをデプロイする人はいますか? もしそうなら、どのように使用しますか? 現在、プロジェクトの新しいインスタンスをデプロイするたびに実行する手書きの「セットアップ」スクリプトがあります。SVN からチェックアウトして実行するだけです。いくつかの基本的な構成変数を設定し、データベースをインストールまたはリロードし、サイト インスタンスの v-host を生成します。

Phingを使用する必要があるのではないかとよく考えます。私は ant をあまり使用したことがないので、セットアップ スクリプトのようにある場所から別の場所にファイルをコピーするスクリプトを作成する以外に、Phingが何をするべきかについての本当の感覚がありません。Phingをプロセスに統合する理由、または統合したくない理由を理解するのに役立つ、より高度な使用例を教えてください。

4

5 に答える 5

16

Federico Cargnelutti のブログ投稿から:

機能には、ファイル変換 (トークン置換、XSLT 変換、Smarty テンプレート変換など)、ファイル システム操作、インタラクティブ ビルド サポート、SQL 実行、CVS 操作、PEAR パッケージ作成ツールなどが含まれます。

もちろん、上記のすべてに対してカスタム スクリプトを作成することもできます。ただし、Phing のような特殊なビルド ツールを使用すると、多くの利点が得られます。実証済みのフレームワークを使用するので、「インフラストラクチャ」のセットアップに悩む必要がなくなり、記述する必要のあるコードに集中できます。Phing を使用すると、新しいメンバーがチームに参加したときに、以前に Phing (または Phing のベースである Ant) を使用したことがある場合に、何が起こっているのかを理解できるようになります。

于 2008-08-31T08:22:20.370 に答える
8

私にとって説得力のある答えは、phing が PHP クラスパスを理解するということです。アリはしません。実行コマンドでいっぱいの ant build.xml を持ちたくありません。私はたまたま主に Java プログラマーであり、まだ phing を使用しています。仕事に最適なツールです。

于 2009-06-08T22:27:15.860 に答える
7

Ant から Phing に移行したのは、それが PHP であるという理由だけです。私はそれを使用して、さまざまなサブバージョン リポジトリからエクスポートし、さまざまなものをコピーし、さまざまなインストール パッケージをビルドします。これらすべてを、20 行の再利用可能な xml ファイルと、プロジェクト固有のものを含む構成ファイルで行います。カスタム スクリプトでこれほど高速に実行することはできませんでした。また、API ドキュメントの生成と単体テストを統合する予定です。大好きです!

于 2009-04-26T09:10:08.570 に答える
3

SemanticScuttleをデプロイするためにphingを使用します:

  • 配布用のzipアーカイブを生成する
  • PEARパッケージを作成する
  • zipをSourceForgeにアップロードする
  • PEARチャネルを新しいパッケージファイルで更新します
  • reStructuredTextドキュメントをhtmlファイルにレンダリングしてアップロードします。現在はですが、別のタスクexecを作成する途中です。

zipファイルとチャネルのアップロードはrsyncを介して行われます。これは、残念ながら、特別なタスクを介したphingではサポートされていませんが、使用execは常に可能であり、うまく機能します。

結局、それは多くの時間を節約し、1つのコマンドでアプリをテスト、パッケージ化、デプロイすることができます(これにより、Joel Testに別のポイントが与えられます)。私はそれなしでは生きたくありません。

build.xmlコードを参照してください。

于 2011-06-12T17:54:03.473 に答える
2

ping を使用する説得力のある理由は見当たりません。つまり、PHP プログラマーは、PHP で Eclipse プラグインを作成する方が何らかの形で簡単である可能性があるという理由だけで、Eclipse の書き直しを試みる必要があるのでしょうか? 私はそうは思わない。

Ant には優れたオライリーの書籍を含むより優れたドキュメントがあり、Java の世界では十分に確立されているため、(1) 「機能 X をまだ ping にコピーしていない」という問題と (2) リスクを回避できます。 ping プロジェクトが死んでいく。Ant と CruiseControl を使用するように PHPUnit を構成する方法については、こちらの記事を参照してください。それほど難しいことではありません。また、無料で Eclipse を統合できます。

幸運を!

于 2008-10-24T21:05:07.567 に答える