問題タブ [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.
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 から運用サーバーに構築するときにこれらの問題を引き起こさずに統合するにはどうすればよいですか。
これは、世の中に出回っている多くの志望アプリ開発者にとって役立つ可能性があります。
前もって感謝します、
稼働時間
php - include_path のない仮想ホストで propel ORM オブジェクトを生成する方法は?
いくつかの仮想ホストを持つ開発サーバーがあります。それぞれが次のコマンドを実行できる必要があります: propel-gen ./ creole そのスクリプトは、データベースをリバース エンジニアリングする php を実行します... しかし、それが実行する php はそうするために含める必要があります。
php.ini には include_path が設定されていません。これは、すべての仮想ホストに対してグローバルであるためです。vhost ごとに include_path を一意にする必要があります。
コマンドラインでこれを機能させるにはどうすればよいですか? (注: コマンドラインは Apache を経由しないため、htaccess は機能しません)。
この問題を回避する別の方法はありますか? おそらく、インクルード パスを設定するためにコマンドライン パラメータを渡しますか? おそらく.bashrcに何かを設定していますか?:(
PS - スクリプトは、ハードコーディングされたインクルード パスを持つ私の Mac で正常に動作します。
package - Phing の deb パッケージ タスク
Debian ベースの Linux システム用の .deb パッケージを作成するための Phing タスクを知っている人はいますか?
php - Phingの配列プロパティ
<touch>タスクを使用して特定のファイルの権限をチェックするphingビルドファイルがあります。
さまざまなファイルの場所のリストである外部ファイル(filesToCheck.txt)を呼び出します。これは正常に機能します。ただし、同じ外部ファイル(filesToCheck.txt)の特定のキーに基づいて特定のファイルにアクセスする場合、PHPコードで同じリストを再利用することはできません。
Phingのドキュメントを調べましたが、配列タスクが見つかりませんでした。誰かが回避策を知っているか、Phingで配列プロパティを処理するための唯一の解決策である新しいタスクを作成していますか?
php - phing と phpUnderControl ... 連携
これらをシームレスに連携させた人はいますか?http://phing.info/trac/wiki/Users/Documentation/CruiseControlでプラグインを使用していくつかの成功を収めましたが、失敗しました:
- メトリック グラフを機能させる (何も表示されない)
- 「PMD」を有効にする - プロジェクトの混乱の検出 - レポート
私のphingビルドスクリプトに加えて、実行する必要がある(実行できる)他のant固有のコマンドはありますか?
また、レポート セクションのフロント ページには大量のログ情報が表示されますが、これも削除しようとしています。
助けを求めて乾杯... 私たちは phing 2.3.0 と phpUnderControl 0.4.7 を実行しています。
ポール
php - phing : 完全なログを電子メールで送信しますか?
プロジェクトの自動ビルド プロセスにphingを使用しています。
phing
コマンドラインで
起動すると、建物のログが表示されます。お願いします:
- 電子メールで送信された、
- 複数の受信者に、
- ビルドが成功したか失敗したか
- 理想的には、ビルドが成功したか失敗したかを知らせるメールの件名を付けます
- 理想的には: フォーマット、色などを備えた HTML メールのようなものがいいでしょう。
phing
の出力をコマンドにパイプすることについては考えましたがmail
、Linux と Windows の両方で動作し、追加のソフトウェアのインストールを必要としないソリューションが必要です...
誰にもアイデアはありますか?
補足として:ビルドの最後に起動される、ある種の「レポート」ターゲットを追加することを考えましたが、:
- 以前のすべてのターゲットが失敗しなかった場合にのみ起動されます
- 完全なログを取得する方法がわかりません
mysql - execタスクの`<`文字がPhingビルドスクリプトを壊しています
Phingでmysqlインポートスクリプトを設定しようとしていますが、「<」が原因でXMLエラーが発生しています。何か案は?
私はdbDeployにこれを実行させることを検討していますが、これを機能させる簡単な方法があれば素晴らしいと思います(dbDeployの単一行コマンドと複数行セットアップ)
php - XP の Phing で zip タスクを実行できない
Phing を使用してビルド ファイルを作成していますが、zip タスクを実行できないようです。
最初の 2 つのタスクは期待どおりに実行されますが、最後のタスクは実行されません。これで手を貸してくれる Phing の専門家はいますか?
php - WindowsとLinuxの両方で単体テストを実行する
LinuxとWindowsの両方でユニットテスト( phpunit )を効果的に実行できるようにする方法、方法はありますか?
システムの一部はLinuxでしか利用できないため、これを行う必要がありますが、IDEでテストスイートの特定の部分を実行できるようにしたいのですが、これはNetBeansです。
私が遭遇する問題は、ほとんどの場合、パスに関係しています。さらに複雑にするために、私はphing内からテストを実行するつもりです。
しかし、私がまだ取り組んでいないのは、さまざまなプラットフォームに合わせてさまざまなテストスイートを調整できることです。これも可能ですか?
テストは基本的にテストディレクトリ内にあり、ソースはsrc内にあります。インクルードパスは、インクルードファイルによって処理されます。オートローダーを使用して異なるディレクトリ構造を処理することは可能でしょうか?
scope - 経由で呼び出されたターゲットターゲットの呼び出しでプロパティを設定しません
次のphingxmlでは、「skel」ターゲット内で、アプリが構成されているかどうかを確認します。構成されていない場合は、configureターゲットを呼び出して、構成を複数のファイルに適用します。
問題は、propertypromptdb.host
の後にプロパティが設定されていても、phingcallの後にプロパティが設定されないことです。
私は何が欠けていますか?