問題タブ [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.
svn - PHPクラス(Zend、PEAR)をSubversionに保持しますか?
同じSubversionリポジトリに2つのプロジェクトがあります。どちらも、さまざまな目的でいくつかの標準コード/クラス(Zend / PEAR / phpMyAdminなど)を使用しています。リポジトリは次のように構成されています。
\shared\trunk
-両方のプロジェクトで使用されているもの\main\project1\trunk\shared
svn:external of\shared\trunk
\main\project2\trunk\shared
svn:external of\shared\trunk
これは、1つの場所で共通コードを更新するだけでよいという点でうまく機能します。また、ローカル、デモ、本番環境の両方で機能すると確信しています。
ただし、TortoiseSVNは、常に3つのディレクトリすべてをチェックアウトするのに時間がかかるようです。そして今、私はいくつかのタグとブランチを持っているので、それはさらに遅くなります。クラスフォルダは、約3500のファイルと1500のフォルダで構成されています。
何をすべきか?標準クラスのバージョン管理を維持することは良い習慣ですか?
考えられる代替案:外観を削除し、代わりにPhingにクラスフォルダーのエクスポートを処理させますか?
php - phing ftpdeploy でリモートのファイルとディレクトリを削除することはできますか?
Phingftpdeploy
拡張機能を介してリモートディレクトリを削除することは可能ですか?
そこにファイルをコピーする前に、ターゲット ストレージをクリーンアップしたいと考えています。
これが不可能な場合、これftpdeploy
を達成できる Phing の他の拡張機能はありますか?
また、ファイルを ftp からローカル ホストにコピーする機能があると便利です。理想的には、 Ant ftp taskのポートがあるとよいでしょう。
php - svnチェックアウトがphing経由で機能しない
私は現在、シングルクリックでプロジェクトを受け入れサーバーと本番サーバーにデプロイできるようにする内部アプリケーションを作成しようとしています。これを実現するためにphingを使用しています。
現時点では、プロジェクトをチェックアウト(またはsvnエクスポート)するのに問題があります。次のコマンドを使用します。
通常のコマンドラインではこれは完全に機能しますが、ホストがhttpsを使用しているため、証明書を受け入れるように求められます。問題は、証明書を自動的に受け入れるパラメータがないように見えることです。
--trust-server-certも役に立ちません。これは、ホスト名の不一致が原因で証明書が拒否され、パラメータが「CAisunknown」エラーのみをバイパスするためです。
プロジェクトをチェックアウト(またはエクスポート、更新など)する方法についてのアイデアはありますか?
php - デプロイ時にスクリプトを1回実行する
現在、デプロイメントにPhingを使用しており、データベースの変更を適用するためにdbdeployを使用しています。ただし、デプロイ中にオブジェクトモデルによってより適切に処理される変更が必要になる場合があるため、デプロイ後に手動で実行するPHPスクリプトを1回使用して記述します。
実行中のスクリプトを処理し、さらに重要なことに、各スクリプトが1回だけ実行されるように実行されたものを追跡する、dbdeployに類似した既存のソリューションはありますか?
php - 2 つのクラウド サーバー、1 つの開発者、1 つの製品。適切な展開プロセスは何ですか?
現在、Web アプリに LAMP スタックを使用しています。私の開発と製品は同じクラウド インスタンスにあります。現在、新しいインスタンスを取得しており、開発/テスト環境を新しいインスタンスに移動して、本番環境から分離したいと考えています。
以前は、SVN を prod ディレクトリ (私の vhost.conf が指す) にエクスポートする単純な Phing スクリプトでした。環境が分離された状態で、適切なビルド プロセスを作成するにはどうすればよいですか?
SVN リポジトリを開発サーバーに転送してから ssh+svn プッシュを行うことを考えています (これは Phing で可能ですか?)
このタイプのセットアップのベスト/一般的な方法は何ですか?
より詳しい情報:
私は現在、MVC フレームワークにCodeIgniterを使用しており、localhost デプロイメントの自動ビルドにはPhingを使用しています。Web アプリは、 Javaで記述されたいくつかの CRON スクリプトでもサポートされています。
アップデート:
Phing + Jenkinsを使用することになりました。これまでのところうまくいきます!
php - Zend_Config_Writer_Ini を使用して application.ini パスを保持する方法
私は現在、Zend Framework プロジェクト テンプレートを受け取り、Phing パラメーターに従って構成する Phing のビルド システムに取り組んでいます。私が遭遇した問題の 1 つは、Zend_Config_Writer_Ini を使用する場合です。
私の Phing タスクは、repo から application.default.ini という事前設定されたファイルを取得し、Zend_Config_Ini を使用してこれを変更し、ビルド ファイルからパラメーター (データベースの詳細など) を追加します。次に、それを application.ini に書き込み、プロジェクトで使用できるようにします。関連するタスク コードの簡略化されたバージョンは次のようになります。
これは、データベースの資格情報に関する限りは正常に機能しますが、定義済みの定数を含む事前設定されたパスに関しては、何か問題が発生します。例えば:
になります:
さまざまな ini ファイルの読み取り/書き込み時にこれらの構成行を保持する方法はありますか、それともビルド ファイルを再構築してタスクを実行する前にファイルをコピーし、変更が必要な ini 行のみを変更する必要がありますか?
php - Phing でターゲットをグループ化する方法は?
Phing でターゲットをグループ化する方法はありますか? さまざまな順序や組み合わせで実行することで再利用できるターゲットがいくつかあります。たとえば、新しい開発ビルドを作成するには:
または、リポジトリから開発ビルドを更新するには:
これらのターゲットをグループ化して単一のコマンドとして実行する方法はありますか? ターゲットをチェーンできることは承知しています。
しかし、理想的には、次のようなコマンドを実行したいと思います:
これにより、4 つのターゲットすべてが実行されます。このようにして、ビルド ファイルを再利用可能なターゲットに分離できます。これを行う新しいターゲットを作成すると、既存のターゲットからコードが複製されます。depends パラメータを使用して他のターゲットを実行できることはわかっていますが、各ターゲットを互いに独立させたいと考えています。
Phing のドキュメントでは、これを行う方法があまり明確ではないようですが、かなり一般的な方法である必要があるため、他のターゲット内でターゲットを呼び出すことは可能であると確信しています。どうもありがとう。
php - マッパーでUpToDateTaskをPhingしますか?
誰かがマッパーでPhingを使用する方法の例を教えてもらえますUpToDateTask
か?私はそれを理解することができず、ネット上で例を見つけることができません。
これが私が達成しようとしていることです。ExecTask
とRubyのSASSパーサーを使用してCSSに変換するSCSSファイルがたくさんあります。ただし、ソースファイルのいずれかが変更された場合にのみCSSファイルを再生成したいと思います。
ソースSCSSファイルはにapp/assets/css
あり、コンパイルされたファイルはに配置されapp/webroot/css
ます。を使用して、のファイルのいずれかがのファイルのいずれよりも新しい
UpToDateTask
かどうかをテストするにはどうすればよいですか?app/assets/css
app/webroot/css
SASSコンパイルには、CSSファイルへの1対1のファイル名マッピングがないことに注意してください。最終的に3〜4個のCSSファイルにコンパイルされる12個のSCSSファイルが存在する可能性があります。これらのCSSファイルを自分のファイルにハードコーディングするだけでよいことはわかってbuild.xml
いますが、より一般的で再利用可能なビルドターゲットを作成したいと思います。
前もって感謝します!
return-value - phing/phingcallを使用してターゲットを内部的に呼び出す場合の戻り値
phingcallコマンドを使用してターゲットを呼び出しています。呼び出されたターゲットからステータス変数を返すか、少なくとも呼び出し元のターゲットから既存の値を変更したいと思います。目標:プロパティで指定したサブターゲットが失敗した場合、メインターゲット制御ロジックで分岐したいと思います。以下のコードは機能しません。それを機能させる方法や私の目標のための代替アプローチはありますか?
ありがとう、ユルゲン
ここでの問題は
エコー
php - zend、phing、phpunitの共有構成を保存する方法は?
ZendFrameworkで作成されたPHPアプリケーションがあります。ビルドシステムにはPhingを使用し、単体テストにはPHPUnitを使用します。これらすべてのパーツには構成設定があります。Zendはapplication.xml
、Phingはbuild.xml
、オプションでいくつかを使用build.properties
し、PHPUnitはを使用しphpunit.xml
ます。
しかし、3つのコンポーネントすべてに必要な情報はどこに保存すればよいでしょうか。データベース構成(パスワードなど)について考えてみてください。
私の場合、にapplication.xml
はさまざまなセクション(開発、ステージング、本番)があり、すべてデータベース構成が異なります。最近、アプリケーションにORMを統合しましたが、モデルを単体テストしたいと思います。したがって、PHPUnitで使用される4番目のデータベース(ユニットテスト)があります。
PHPUnitはフィクスチャデータを処理できますが、データベーススキーマは処理できません。そのため、データベーススキーマを本番またはステージングから単体テストデータベースにコピーするPhingビルドターゲットを作成することを考えていました。このようにして、データベース移行スクリプトを単体テストできるという追加の利点があります。しかし、それを行うには、Phingは同時に複数のデータベースにアクセスする必要があります。
私の最初の直感は、4つのデータベースすべてのすべての構成を入れて、build.properties
Phingに単純に生成application.xml
してもらうことでしphpunit.xml
た。しかし、ビルドシステムに構成ファイルを生成させるのは汚い感じがします。
ここでの最良の解決策は何ですか?または、構成の詳細を単純に複製して、あまり心配しないでください。
考え
単純に複製することができます。これはほんのわずかな設定であり、頻繁に変更する必要はありません。しかし、それらが変化するとき、私は重複を忘れてしまうでしょう(それはめったに起こらないので)。共有パラメータは次のとおりです。
- データベース構成(開発、ステージング、本番、単体テスト)
- パスを含めます。オートローダーで動作しない古いライブラリを使用しています。これまでのところ、インテリジェントな自動追加ファイルを使用してこれを部分的に解決しました。
- いくつかのWebサービスAPIクレデンシャル