間違っている場合は訂正してください。ただし、「ビルド」は「コンパイル」であり、すべての言語がコンパイルされるわけではありません。継続的インテグレーションには、コンポーネントを構築して、単体テストを超えて機能し続けるかどうかを確認することが含まれますが、単純化しすぎている可能性があります。しかし、プロジェクトにコンパイルできない言語が含まれている場合、どのようにナイトリー ビルドを実行したり、継続的インテグレーション手法を使用したりするのでしょうか?
2 に答える
うーん...「構築」を「ソフトウェアシステムのすべての成果物を準備、パッケージ化、および展開する」ようなものと定義します。マシン コードへのコンパイルは、ビルドの多くの手順の 1 つにすぎません。他の人は、scm-system からコードの最新バージョンをチェックアウトし、外部の依存関係を取得し、ソフトウェアがデプロイされるターゲットに応じて構成値を設定し、何らかのテスト スイートを実行して、「動作/実行中」であることを確認している可能性があります。実際にデプロイする前にビルドします。
ソフトウェアの「ビルド」は、プログラミング言語に関係なく、どのソフトウェアでも実行できます/実行する必要があります。解釈された言語には、構文エラーまたは構造エラー (たとえば、間違ったパラメーターでメソッドを呼び出すなど) が通常実行時にのみ検出されるという「欠点」があります (ビルドにそのようなエラーをチェックする別のステップがない場合など)。PHPLintを使用)。
したがって、(自動化された) テストケース (Unit-Tests - PHPUnitまたはSimpleTestを参照) や Frontend-Tests - Seleniumを参照) は、コードの健全性を確保するために、大きな PHP プロジェクトにとってより重要です。
PHP 用の優れたビルドツール (Java の Ant や Ruby の Rake など) もあります: Phing
XincやHudsonなどの CI システムは、自動的に (変更が scm にチェックインされるたびに) コードをパッケージ化し、明らかなエラーがないかチェックし、テストを実行し (つまり、ビルドを実行し)、結果を開発チーム。
現在のソース管理トランクの毎日のタグを作成しますか?