TeamCity のバージョン管理システム統合

バージョン管理は CI/CD パイプラインの中心となるものであるため、TeamCity には初期状態ですべての主要バージョン管理システムとの統合機能が備わっています。コードの保管場所が Git、Mercurial、Perforce、Subversion、Team Foundation(TFVC)、または複数バージョン管理システムの組み合わせのどれであっても、TeamCity を使用してソフトウェアを自動的にビルド、テスト、およびデプロイする柔軟で強力なワークフローを作成することができます。

1 つの CI ですべてをビルド

コードはモノリポにありますか、それとも種類の異なる複数のバージョン管理システムに分散されていますか?リポジトリはクラウドにホストされていますか、それとも社内で管理されていますか?使用する VCS システムがローカルであろうと、ホスティングであろうと、TeamCity はアプリを効率的にビルドすることができます。

生産性を向上

TeamCity は想定できるすべての開発ワークフローをサポートしているため、まさに必要とするものを必要なときにビルドできます。プルリクエストごとにビルドする、特定のブランチにコミットがあったときにパイプラインを実行する、特定ユーザーが特定ディレクトリのファイルを変更したときにビルドをトリガーするといった操作を実行できます。

再作成は不要

CI システムで新しいコードをコミットせずにテストしたい、「green」のプルリクエストを自動的にマージしたい、またはアプリのリリースバージョンに属する Git コミットにタグ付けしたいと思ったことはありませんか?VCS 関連のルーチンを自動化するためのスクリプトを自作する必要はありません。TeamCity はこのようなシナリオを初期状態でサポートしています!

業界標準のサポート

TeamCity は最新のソフトウェア開発で使用されるすべての主要なバージョン管理システムと VCS ホスティングサービスと連携します。

VCS の種類

  • Azure DevOps(TFVC)
  • Subversion
  • CVS その他

TeamCity はあらゆる種類のリポジトリとコード保管サービスと連携するための共通アプローチを提供しているため、ユーザーは個々のサービスの仕様を理解しなくても優れたアプリの制作に専念できます。

TeamCity の主な VCS 統合機能

複数 VCS のサポート

複数のバージョン管理システムに保存されたコードを組み合わせるのは珍しいことではありません。これには既存のコードベースで作業している、システムのさまざまな部分で異なるソース管理機能が使用されている、ある VCS から別の VCS に移行中である、といった理由が考えられます。TeamCity ではこのような理由を問わず、複数のバージョン管理システムにまたがる任意の数のリポジトリからソースコードを取得し、単一のビルドを作成可能です。

順応性の高いビルドトリガー

ほとんどの CI/CD パイプラインには、開発者の個人ブランチに対する初期チェックから、main ブランチへマージしてからリリース候補にタグ付けする際の回帰テスト一式に至るまで、複数のステージが伴います。

TeamCity なら単一のプロジェクト内でさまざまなトリガーを使用して複数のビルドチェーンを構成可能です。コミット作成者、ブランチ名、プルリクエスト、またはファイルの変更などに基づいてトリガーを定義してビルドリソースの使用状況を管理したり、コミットフックを使用してリポジトリの変更を監視したりできます。

コミットとプルリクエストのステータスレポート

最適な開発者エクスペリエンスを得られるよう、TeamCity をバックグラウンドでシームレスに実行し、VCS ホスティングシステムのコンテキストでリポジトリの変更監視、ビルドのトリガー、結果のレポート作成を実行するように構成できます。コミットステータスパブリッシャーを使って GitHub、GitLab、Bitbucket、または Azure DevOps から直接ビルドの進捗をリアルタイムにレポートしたり、ビルドとテストの結果を閲覧したりできます。

変更の自動マージ

Git または Mercurial でフィーチャーブランチに変更を加えている場合、自動マージには複数のメリットがあります。main ブランチの変更を定期的にマージすることで、フィーチャーブランチを最新の状態に維持しながら競合を最小限に抑えることが可能です。変更の準備が整ったら、定義された条件(ビルドの成功)に応じてフィーチャーブランチから main ブランチに変更を自動的にマージできます。

課題トラッカーの統合

失敗したテストをデバッグする場合でも、リリースノートを更新する場合でも、コミットメッセージで参照されている課題の詳細を閲覧できると非常に役立ちます。TeamCity は VCS ホスティングプラットフォームが提供する課題トラッカーやスタンドアロン型の課題管理ツールと連携して TeamCity の UI にコンテキスト課題情報を提供し、課題 ID を直接リンクに変換することができます。

SSO によるユーザー認証

業務に最適なツールを使用することで管理上の負荷を生み出してはいけません。TeamCity は VCS ホスティングサービスを介したシングルサインオンのユーザー認証をサポートしているため、ユーザーに違和感を感じさせることなく管理者の IT タスクを合理化できます。

ソフトウェア開発ワークフローには、それを構築する人員と同様の多様性があります。モノリポとポリリポ、フィーチャーブランチ/リリースブランチ/プルリクエスト、地理的地域と規制地域でのクラウドホスティングとオンプレミスサーバー、テストスイートの連続または並列実行、クラウドホスティングプラットフォームのポーリング制限とアクセス制約など、考えられる構成要素はまだまだあります。どのプロセスやプラットフォームを採用するにしても、TeamCity の直感的な UI なら構成をコードとして保存しながらニーズに最適な CI/CD パイプラインを構築できます。

FAQ: TeamCity の VCS との CI/CD 統合

TeamCity は複数の VCS に分散するコードをビルドできますか?

TeamCity はクラウドホスティングソリューションを含め、Git、Perforce、Mercurial、SVN などのリポジトリに保管されたソースコードを含むプロジェクトをビルドできます。

TeamCity はプルリクエストとマージリクエストをサポートしていますか?

TeamCity は GitHub、GitLab、Azure DevOps、および Bitbucket Server のプルリクエストとマージリクエストをサポートしています。また、Perforce シェルブトリガーも備わっているため、Perforce 変更リストのシェルブされたファイルの変更も処理できます。

TeamCity の VCS 統合機能は無料ですか、それとも有料ですか?

すべての VCS 統合機能は無料の自己ホスト型バージョンを含む TeamCity の全バージョンで利用できます。TeamCity Cloud には 14 日間の体験期間が用意されています。

コードを VCS にコミットせずに TeamCity でビルドできますか?

TeamCity には、コードをコミットせずにビルドできる IntelliJ ベース IDE と Visual Studio 用の IDE プラグインがあります。これは、ゲーム開発などでよくあるような開発全体が 1 つのブランチで行われている場合に特に便利です。