このガイドでは、TeamCity にまったく新しい開発者向けに TeamCity で Java と Maven のプロジェクトを構築する方法を説明します。
前提条件
Java と Maven フレームワークの基本的な理解があることをお勧めします。 For more information, see the Getting Started with Maven guide in the Maven documentation.
TeamCity がリポジトリに正しく接続されると、次のダイアログが表示されます。
Create Project From URL ダイアログには、プロジェクト名と最初のビルド構成名を変更するオプションがあります。
注意: より新しいバージョンの TeamCity には、Default branch と Branch specification のフィールドもあります。これらは TeamCity が構築するブランチを指定するために使用します。 ここでは何も変更しません。
Proceed をクリックすると、TeamCity は自動的にバージョン管理リポジトリをスキャンし、サポートされているテクノロジー(この場合 Java と Maven)を検出します。
TeamCity がリポジトリ内の pom.xml ファイルを検出すると、プロジェクトのビルドが自動的に提案されます。これには、Maven プロジェクトのコンパイルと mvn clean test
の実行によるテストの実行が含まれます。
ビルドステップをビルド構成と混同しないように注意してください。 ビルド構成には潜在的に、多数のビルドステップが含まれることがあります。
これで、TeamCity で Mavenリポジトリを正しく構成できました。
これで、最初のビルドを実行できるようになりました。
注意: TeamCity Cloud をご利用の場合は、ビルドエージェントが利用できるようになるまで 2 分ほどかかることがあります。 この間、ビルドは利用可能なエージェントに拾い上げられるまでキューで待機します。
ローカルのビルドエージェントを使うオンプレミス型の TeamCity をご利用の場合、ビルドは直ちに開始します。
ビルドが開始すると、ビルドの概要ページにリダイレクトされ、ビルドに関連するリアルタイムデータを表示する Build Log タグが開きます。 ビルドの実行が終了したら、テスト結果を確認するか、完全なビルドログを閲覧できます。
Maven リポジトリが TeamCity に接続されたので、引き続きコードを開発して、リポジトリにプッシュできるようになりました。
デフォルトでは、TeamCity は VCS リポジトリのメインブランチを 60 秒ごとにポーリングして変更を確認し、検出されるすべてのコミットに対して 1 つの(合併した)ビルドをトリガーします。
リポジトリのメインブランチだけでなく、様々なブランチへの変更に対してもビルドをトリガーする場合は、VCS ルートの設定にワイルドカードによるブランチの指定を追加します。 VCS 設定は個別のビルド構成にではなく、TeamCity プロジェクトに属することに注意してください。 したがって、変更内容は、同じ VCS ルートを使用するすべてのビルド構成に適用されることになります。
ブランチの指定例:
+:refs/heads/*
– TeamCity はプロジェクトのすべてのブランチの変更をチェックしますが、GitHub などのプラットフォームのプルリクエストは refs/pull/*
に一致するためチェックされません。 +:*
– TeamCity はすべてのブランチのすべての着信変更をチェックします。 TeamCity は、ブランチ指定に従ってリポジトリにプッシュされているすべてのブランチを監視し、着信の変更を確認し、適宜ビルドを実行するようになりました。
リポジトリに対して行われたプルリクエストを TeamCity で自動的にビルドできるようにするには、ビルド構成にPull Request ビルド機能を追加できます。
注意: Pull Request ビルド機能は透過的にブランチ指定を拡張します(詳細は前の手順をご覧ください)。 たとえば、GitHub の場合、プルリクエスト機能によってブランチ指定に +:refs/pull/*
が追加されます(視覚的には確認できません)。
プルリクエスト機能が使用される場合に一般的なブランチ指定にプルリクエストブランチが含まれていないように確認することをお勧めします。含まれている場合、プルリクエスト関連の機能が TeamCity で使用できなくなります。
TeamCity は外部プラットフォームにプルリクエストがないかチェックし、構成ルールに一致しているプルリクエストをビルドするようにトリガーします。
注意: 公開リポジトリでは誰もが危害のあるコードをプッシュできるため、それらがビルドされてしまわないように、この機能の使用には十分な注意が必要です。
When using the pull requests feature in combination with Azure DevOps, Bitbucket Server, GitHub, or GitLab, it also makes sense to use the Commit Status Publisher build feature. この機能は対応するプラットフォームのプルリクエストのステータスをビルド結果で更新します。
ビルド結果を GitHub にレポートするように TeamCity をセットアップするには、以下の手順を実行する必要があります。
TeamCity がビルドを実行したら、変更によってビルドが失敗していないかどうかを直接 GitHub の Pull Request タブで簡単に確認できるようになります(緑のチェックマーク)。 テスト結果を閲覧できるように、TeamCity サーバーへのリンクバックが含まれています。