web-dev-qa-db-ja.com

PHPのような言語のビルドの目的は何ですか?

この質問が明白であると思われる場合、またはこの質問を尋ねる必要がないかどうかを事前に謝罪します。

ビルドプロセスについて調査しましたが、実行可能コードをコンパイルして生成するため、Java、C++などのビルドの目的を理解しています。また、ビルドは依存関係やアーティファクトをビルドするため、コンパイルするだけではないことも理解しています。 EclipseプロジェクトでPHPを開発すると、変更が行われたときにコードがビルドされます。

ただし、リリース時にPHPプロジェクトをビルドすることが推奨される理由がわかりません。ほとんどの場合、PHPリリースは、FTP転送を介して行われます。本番サーバー。

ソフトウェア企業がPHPコードを異なるリリース用に継続的にビルドする必要があるのはなぜですか?

繰り返しになりますが、この質問が関係ない場合はお詫び申し上げます。

4
mokko211

特に「継続的ビルド」と言う場合は、実際に「ビルド」と呼ぶものによって異なります。

ソースコードをバイナリ実行可能ファイルにコンパイルするという狭い意味で「ビルド」を定義する場合、その通りです。このような「ビルド」ステップは、PHPのようなインタープリター言語には意味がありません。ただし、一部の人々にとって、「ビルド」ステップは、バージョンがリリースされる前のコードの最終行の編集と実際のデプロイメントとの間に発生するすべてによって定義されます。これには、たとえば、

  • すべての自動テストの実行

  • 実行中のコードまたはドキュメントジェネレータ

  • 潜在的な配布/展開のためのパッケージ

  • sCCSでのバージョン管理/タグ付け

  • (...特定のサイズのソフトウェアシステムの導入前のステップとして必要なものは何でも)

継続的インテグレーションサーバーがある場合、これらの手順は、純粋なPHPベースのシステムであっても、「毎晩のビルド手順」中に毎晩実行される可能性があります。

PHPのリリースは、本番サーバーへのFTP転送を介して行われます。

これは「ビルド」ではなく展開の方法であり、すべての展開前の手順が実行された後に実行する必要があります。上記の展開前の名前付きの例が、ほとんどすべての専門的なソフトウェア会社にとって意味がある理由を説明する必要がないことを願っています。

7
Doc Brown