問題タブ [phing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
7386 参照

php - Phingを使用していますか?

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

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

0 投票する
3 に答える
2423 参照

php - Phing と PHPUnderControl の違いは何ですか?

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

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

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

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

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

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

0 投票する
1 に答える
1014 参照

php - Phing ビルド ファイルを生成するためのユーザー インターフェイス?

Phingをビルド ツールとして使用したいのですが、ビルド ファイルを生成するための (Web) インターフェイスがあるかどうか疑問に思っていました。

それらを手書きするための代替方法に関する推奨事項も高く評価されます。

0 投票する
7 に答える
5756 参照

php - phingに使用できるsshおよびscpタスクはありますか?

ビルドマシンからサーバーへのリモート展開を実行したいと思います。リモーティングはスクリプトからsshコマンドを使用して実行できますが、自動化を行うphingとdeploy.xmlファイルを使用したいと思います。

phingビルドファイル内からssh(およびscp)タスクを実行するために必要な代替手段は何ですか?

0 投票する
2 に答える
3375 参照

php - propel-gen の「convert-conf」ターゲットが失敗する

最新バージョンの PHP と Propel 1.3 と Phing を使用して、OSX 10.5 の schema.xml ファイルからモデルを生成しようとしています。すべてのモデル クラスが実際に作成され、最後のステップで終了します。私はすでに試しました

chmod -R 777 ./application/config

しかし、それは役に立ちませんでした。私も両方試してみました

推進力/リバース

propel-gen ./クレオール

どちらも同じエラーを生成しました。このエラー:

これが私のbuild.propertiesファイルです:

何か案は?

0 投票する
4 に答える
9180 参照

php - PHP ビルド/統合ツール: 使用していますか?

2008 年 11 月号の php|architect マガジンで、ユニット テスト ( phpUnit )、ビルド ツール ( Phing )、および継続的インテグレーション ( Xinc ) について説明した記事「モダン PHP ワークフロー」を読んだ後、私はインスピレーションを受けて、いくつかのPHP、特に Phing で利用可能なツール。

過去に、ライブ サイトを Subversion 作業コピーとして実行し、運用ボックスで "svn update" を実行して最新バージョンのコードを展開することで、運用サーバーへの展開を処理することがよくありました。

PHPコードにビルドツールを使用していますか? Subversion から直接デプロイするよりも、どのような利点があると思いますか? 何に注意する必要がありますか、またはどのような落とし穴に直面する可能性がありますか?

0 投票する
1 に答える
651 参照

include - PHP: phing の実行時にファイルのみを含めますか?

次のフォルダー構造があります。

Web アプリケーションを実行するときはloader.php、最初にロードし、 を呼び出して他のコンポーネントを含めますLoader::load( 'package_name' )。次に、必要なすべてのファイルが含まれます。ここでの良い点はloader.php、クラス ファイル内に を含める必要がないことですLoader

単体テスト クラスは、必要なすべてのクラスを明示的に含めることで、この動作をシミュレートします。なので、phingやPHPUnitでも問題ありません。

しかし今、phing と Xdebug を使用してカバレッジ レポートを生成したいと考えています。ここでの問題は、ping がすべての PHP ファイルをロードしてカバレッジ データベースを作成しているように見えることです。Loader残念ながら、PHP ファイルで使用されているクラスが見つからないため、停止します。

すべてのクラス ファイルにステートメントを簡単に追加できincludeますが、コード カバレッジ分析がファイルを検査している場合にのみ、ファイルを含める方法があるのでしょうか?

その他のアイデア: 単体テスト ディレクトリをスキャンして、必要なすべてのインクルードを検出するようにカバレッジ分析を構成することもできます。次に、パターンなどに一致するクラスをフィルタリングする必要があります/Test$/i。可能?

0 投票する
1 に答える
1224 参照

php - Phing と Wordpress の構成

Phing を使用して、wordpress のインストールを実稼働サーバーにプッシュしています。ビルド ファイル内で wp-config プロパティを定義し、それらの変数を使用するために wp-config の内容を phing に置き換えることは可能ですか?

このような:

次に、これらの値を取得し、wp-config を正しいプロパティに置き換える phing タスクが必要です。

どうすればいいですか?

ありがとう

0 投票する
2 に答える
4642 参照

svn - ping でディレクトリ全体をコピーする

phing を使用して、ファイルとサブフォルダー (joomla コア ダウンロード) を含むフォルダー全体を別のフォルダーにコピーできるかどうかは誰にもわかりますが、.svn フォルダーはありません。

SVN を使用して joomla をダウンロードしました。すべてのファイル タイプを一覧表示する必要なく、phing を使用して joomla dev フォルダーにエクスポートしたいと考えています。私の計画は、これを使用して、トランクから開発者を最新の状態に保つことです。

排除する方法を知っている

しかし、何かを見逃した場合に備えて、すべてのファイルをリストしたり、すべてのファイルの種類を推測したりせずに、すべてを含める方法を見つけることはできません!

提案ポール

0 投票する
4 に答える
8871 参照

php - PHP アプリケーションを正しくデプロイするには?

アプリケーションを開発から本番に正しくデプロイする方法と、複数のサイト構成に対処する方法。私の開発はすべて var/svn/myapp/trunk にある svn を介して行われ、実際の製品コードは /var/www/myapp にあります。

ローカル マシンの最新コードを「myapp_latest_svn」というディレクトリにチェックアウトします。H_PATH = ' http://myapp.com ' & db_host、db_user_name、および db_password の db config 設定を含むメインの settings.php に、サイトと場所固有のコードがあります。 /myapp.com は単なる Apache エイリアスです) & 本番 (ライブ サイトは myapp.com で実行されます) サーバー上。

また、.htaccess ファイルは運用サーバーのものとは異なります。つまり、開発と本番の間には多くの違いがあります。

私はすべての作業を SVN に保存しています。毎朝、最新のコードをローカルの svn リポジトリに更新する SVN Update を使用しています。ライブの準備ができたら、svn Commit でリリースをビルドします。

次に、リリースでは、適切な開発ファイルをすべて、対応する製品に変更することを忘れないでください。ここで、サイト固有の変更を反映するために、プロダクションの settings.php と .htaccess を手動で編集する必要がありました。

私は、バージョン管理と、エラーが発生しやすく、悪い習慣であるファイルの手動編集を必要とせずに、開発から本番に移行する自動化された方法を探しています。

1 つの方法は、ファイルの本番バージョンを読み取り専用 (0444) にすることです。そうすれば、svn エクスポートを行うときに、ファイルの開発バージョンによって上書きされることはなく、開発から運用に移動するたびにファイルを編集することを心配する必要はありません。しかし、それは継続的インテグレーションのようなことを行うには悪い方法です。

また、settings.php の複数のコピー (localhost、beta、および prod 用に 1 つ) を作成します。次に、svn からエクスポートするシェル スクリプトを使用し、エクスポートが完了すると、デプロイ先の場所に応じて、settings.php を正しい settings.php に置き換えます。そうすれば、すべてが自動化されます。しかし、これも不毛な方法です。

最後の方法は

これは、settings.php に関する限り問題ありません。しかし、.htaccess については、.htaccess で上記のようにチェックすることはできません。

設定を変更する必要があるサイトを展開するたびに、やりたくないことがあります。

私のDBスキーマはバージョン管理されていないので、dbは問題ではなく、settings.phpと.htaccessだけです。

また、サイト固有のディレクトリ (/log、/cache、/assets、/downloads) もあるため、svn に一部のディレクトリを更新しないように指示するにはどうすればよいですか。また、上記のファイルに対しても、apache ( www_data) 書き込みアクセスをそのまま保持する必要があります。

最後に、エクスポート時に空のトランク ディレクトリと .svn ファイルを運用サーバーにコピーしたくありません。

Phing またはシェル スクリプトを使用して、svn から運用サーバーに構築するときにこれらの問題を引き起こさずに統合するにはどうすればよいですか。

これは、世の中に出回っている多くの志望アプリ開発者にとって役立つ可能性があります。

前もって感謝します、

稼働時間