継続的インテグレーションとTeamCity

継続的インテグレーション(Eng。継続的インテグレーション)-これはソフトウェア開発のプラクティスであり、プロジェクトの頻繁に自動化されたアセンブリを実装して、インテグレーションの問題を迅速に特定して解決します。 開発者がシステムのさまざまな部分で独立して作業する典型的なプロジェクトでは、統合フェーズが最後です。 彼女は仕事の完了を予想外に遅らせることができます。 継続的インテグレーションへの移行により、インテグレーションの複雑さが軽減され、エラーや矛盾が最も早く検出および除去されるため、より予測しやすくなります。


画像 このトピックでは、 TeamCity Enterprise 6.0 EAP(ビルド15400)の例を使用して継続的インテグレーションを実装するプロセスを広く見て、前のトピック「ソフトウェア製品の品質を保証する」で説明したツールの使用に注意を払います



プラットフォームに適したTeamCityバージョンを個別にダウンロードしてインストールし、以前の記事のツールをインストールする必要があります。これはすべて問題なく行われますが、コメントで質問する場合です。 また、SVN(または他の同様のシステム)に既に保存されている既存のPHPプロジェクトが必要になります。



TeamCity GUIは、インストールされたホスト上でHTTPを介して利用可能になります。認証と構成の後、メインページは下のスクリーンショットのようになります。 各プロジェクトには多数のプロジェクトを持つ独自のブロックがあり、それらの可視性を構成できるため、各ブロックのステータス(折りたたみ、展開)が記憶されます。 プロジェクトは、ビルド番号に関する情報が表示されるステータスライン、インジケータ(4つの状態:正常に完了、エラーで完了、実行、エラーで実行-すべて直感的)、ビルドの小さなテキスト説明がある構成を提示しますこれにより、テストの数に関するデータとコード分析に関する情報を確認できます。 ほとんどすべての要素には、高度な情報やナビゲーションを表示するAJAXツールチップがあります。







プロジェクトを作成するには、「管理」セクションに移動する必要があります。プロジェクトが既に作成されていることがわかります。TeamCityのメインセットアップもこのセクションから実行されます(右側のメニュー)。







プロジェクトの初期化プロセスは7つの簡単なステップで構成され、そのうち3つは必須であると暗示されており、小さなアシスタントを使用して完了することが提案されています。



メイン設定では、プロジェクト名のみを指定する必要があり、他のすべてのフィールドの値はデフォルトで残すことができます。







次のステップは、バージョン管理システムとの統合です。これは次の図に示されています。 構成のタイプとその他のデータを指定し、ルートの場所を指定する必要があります。コードを受信するときの後続の変換はすべて「チェックアウトルール」を使用して実行する必要があります。私の場合は、「+:trunk => source」という単純なルールで十分です。











次のステップは、プロジェクトのアセンブリプロセスを開始するツールを選択することです。ここでも、デフォルトでほとんどのフィールドを残し、残りの部分はスクリーンショットと同様に記入します。注目すべき主なポイント-この例では、組み込みのApache Antが使用されますが、好みや経験-それのために行きます。 設定ファイルはSVNに保存されます。私にとっては非常に便利です。







次の4つのスクリーンショットは、エージェントのトリガー、依存関係、変数、および要件の構成セクションを示しています(エージェントはプロジェクトの直接構築に関与します。私の場合、1つのエージェントはインストール時にデフォルトで構成されます。TeamCityをインストールした直後のコメントは、エージェントが到着するまでしばらく待つことです)準備中。)。



















次に、ビルドプロセスを制御するbuild.xmlを作成する必要があります(彼と数日間話し合った後、これは日常のタスクの小さなシェルスクリプトのほとんどを置き換えることができる奇跡のツールであると言えます)。



2行目のデフォルト引数と4行目のターゲット要素に注意する価値があります。以下は、サードパーティツールを起動し、その結果をTeamCityに統合するためのさまざまなタスクです。 WindowsとUNIXの同一タスクの初期化は少し異なりますが、今のところ、いくつかの困難を引き起こしましたが、Apache Ant FAQですでに議論されていることが判明しました。 その内容をコピーするだけです。 TeamCityとの対話は、サービスメッセージを使用して行われます。





コンテンツをリポジトリにコミットします。トリガーがコミットするように設定されている場合、アセンブリは自動的に起動します。そうでない場合は、GUIから[実行]をクリックします。 数分以内に、完全なアセンブリ情報が利用可能になります。



アセンブリに関する概要情報。







リポジトリからの変更。







テストが完了しました。







ビルドプロセスログ。







アーティファクト。その一部は、追加のタブとして次のスクリーンショットに表示されます。 残念ながら、これまでのところ、すべての結果が正常に統合されているわけではありませんが、少なくとも元の形式でダウンロードして表示できます。























PS

行動ガイドの形で記事を書きたかったという事実にもかかわらず、私は一般的な概要を得たので、いくつかの点に興味があるが完全に開示されていない場合は、コメントして開示してみてください。



この計画では、Doxygen、Padawan、および他のいくつかのツールも統合されています。 build.xmlの例では、デフォルトでpdependセクションがビルドプロセスに含まれているため、結果はアーティファクトに表示されず、build.xmlには以前のアセンブリのデータをクリアするセクションはありません-TeamCityの6番目のバージョンから、モップがこれを行います。 PHP CodeBrowserに関しては、何らかの明確な理由により、GUIの現在のバージョンは、比較のために、最初のバージョンの1つのスクリーンショットであるため、はるかにくだらないものになっています。



画像







All Articles