PHPプロジェクトのデプロイメント/ビルド/ CIサイクルのセットアップ
私はほとんどの場合、孤独な開発者であり、主にPHPベースの多数の大きなプロジェクトに取り組んでいます。コードベースへの変更の処理方法を専門化して自動化し、基本的な変更を加えることなくチームでの作業への移行を可能にする継続的インテグレーションプロセスを作成したいと考えています。 私が今やっていることは、すべてのプロジェクトにローカルテスト環境があることです。プロジェクトごとにSVNを使用しています。変更はローカルでテストされ、通常FTP経由でオンラインバージョンに転送されます。APIドキュメントはソースコードから手動で生成されます。ユニットテストは私がゆっくりと始めているものであり、それはまだ私の日常の一部ではありません。 私が想定している「ビルドサイクル」は、次のようになります。 ローカルでテストされた後、チェンジセットはSVNにチェックインされます。 ビルドプロセスを開始します。SVN HEADリビジョンがチェックアウトされ、必要に応じて変更され、アップロードの準備が整います。 APIドキュメントは自動的に生成されます-まだ詳細に設定していない場合は、デフォルトのテンプレートを使用して、コードベース全体をスキャンします。 新しいリビジョンはFTP経由でリモートの場所に展開されます(ディレクトリの名前変更、chmodding、データベースのインポートなどが含まれます)。これは既にphingが非常に好きなものですが、もちろん代替手段を用意しています。 事前定義された場所にあるユニットテストが実行されます。電子メール、RSS、または(できれば)HTML出力を使用して、それらの失敗または成功について知らせてもらい、Webページに取り込むことができます。 (オプション)事前定義された場所にあるエンドユーザーの「変更ログ」テキストファイルが、コミットメッセージの事前定義された部分で更新されます(「これで、「foo」と「bar」の両方を同時にフィルタリングできるようになりましたこのメッセージは、SVNコミットメッセージと必ずしも同じではありません。SVNコミットメッセージには、より多くの内部情報が含まれている可能性があります。 コードメトリックス、コードスタイルチェックなどのようなものは、現在の私の主な焦点ではありませんが、長期的には、そうなるでしょう。すぐに使えるこのソリューションは非常に親切に検討されています。 を探しています 同様の状況にある、または同様の状況にあり、このためのソリューションを正常に実装した人々からのフィードバックと経験 特に、これを設定する方法についての良いステップバイステップのチュートリアルとウォークスルー 新しいプロジェクトごとにスケルトンAPIやテストケースなどを作成するなど、可能な限り多くの自動化を提供するソリューション。 そしてまた 製品の推奨事項。私がこれまで知っていることであるPhingの構築のために/アリを、そしてphpUnderControlまたはハドソン報告部分について。私は見る限りすべて好きですが、もちろん詳細な経験はありません。 私は仕事に溢れているので、単純な解決策に強い傾向があります。一方、機能が不足している場合は、機能が制限されすぎていることを叫びます。:)ポイントアンドクリックソリューションも大歓迎です。また、PHPプロジェクトで機能する商用製品の推奨事項にも同意します。 私のセットアップ 私はWindowsをローカルで作業しています(正確には7)。ほとんどのクライアントプロジェクトはLAMPスタックで実行され、多くの場合共有ホスティング(=リモートSSHなし)で実行されます。自分の環境で実行できるソリューションを探しています。これでLinux VMをセットアップする準備ができました。問題ありません。ホストされたソリューションは、説明されているすべての側面を提供するか、プロセスの他の部分と対話するのに十分な柔軟性がある場合にのみ、私にとって興味深いものです。 バウンティ 私が最も燃費が良いと感じる答えを受け入れます。ここには多くの優れた入力があります。複数の回答を受け入れることができればと思います。みんな、ありがとう!