柔軟であらゆるワークフローに順応可能な TeamCity には、GitLab.com、GitLab Enterprise Edition、および GitLab Community Edition に対応した一流の統合サポートを提供する強力な CI ツールが備わっています。
プロジェクトの規模と複雑度が高まるにつれ、GitLab 組み込みの CI 機能のみを使って効率的なデリバリープロセスを維持するのはますます困難になります。そこで TeamCity の出番です!TeamCity は決まったワークフローを強制せず、あらゆる規模のチームに最大限の柔軟性と構成能力を提供する汎用の CI/CD ソリューションです。
TeamCity は Linux、Windows、および macOS に対応しており、ユーザーが所有するハードウェア、好みのクラウドホスティングインフラストラクチャ、Kubernetes クラスター、またはこれらが混在する環境で実行可能です。すべてのプログラミング言語をサポートしており、ソフトウェアのビルドとテストに広く使用されている各種ツールと連携できます。
TeamCity はビルドやテストの失敗に関する有益かつ実践に役立つフィードバックを提供するため、開発プロセスの効率アップに役立ちます。また、テストの失敗をリアルタイムで通知し、ビルド履歴を保持し、ビルド時間をログに記録し、不安定なテストを flaky(同じ構成、コードに対して合否が変わる)としてマークすることができます。各テストにはスタックトレース、スクリーンショット、ログなどの迅速な調査に必要なデータが含まれる場合があります。
これ以上ないほど簡単に GitLab プロジェクトの継続的インテグレーションをセットアップできます。GitLab リポジトリへの接続を構成したら、新しい TeamCity プロジェクトをわずか数クリックで作成できるようになります。TeamCity ならどんなプロジェクトとワークフローの編成でもビルドできます。
TeamCity を使用してさまざまなプログラミング言語、プラットフォーム、およびビルドインフラストラクチャを 1 つの強力な CI パイプラインに集約できます。複数の VCS ルートを追加することで、GitLab と他のバージョン管理システム(GitHub、Bitbucket、Azure DevOps、Mercurial、Subversion、Perforce など)の両方でホストされているリポジトリを使用するプロジェクトのビルドパイプラインを作成することも可能です。詳しくは「VCS の統合」をお読みください。
全面的に管理可能で拡張性に優れた TeamCity On-Premises とフルマネージド型の高パフォーマンスソリューションの TeamCity Cloud からお選びください。
TeamCity は GitLab の機能を完全にサポートしてシームレスかつ透過的に統合するため、DevOps プロセスを俯瞰できます。
TeamCity はビルドがキューに追加された瞬間からコンパイルに至るまで、各ビルドの最新のステータスを GitLab にリアルタイムで公開できます。そのため、コミットまたはマージリクエストから直接進捗を監視し、結果を確認することができます。
詳細については、ドキュメントの「コミットステータスパブリッシャー」セクションをご覧ください。
変更をブランチに自動的にマージするルールを構成して CI パイプラインの一部に組み込むことができます。カスケードマージをサポートしているため、変更内容を保護対象の develop ブランチとリリースブランチに昇格する高度なワークフローを作成できます。テストに失敗した場合や他の自動マージ条件を満たさない場合でも、GitLab に戻ることなく TeamCity UI から直接変更を手動でマージするかどうかを選択できます。
詳細については、ドキュメントの「自動マージ」と「ブランチの手動マージ」セクションをご覧ください。
TeamCity では、成功したビルド(またはすべてのビルド)のソースに自動または手動でバージョン番号を記録する Git タグを簡単に設定できます。
詳細については、ドキュメントの「VCS のラベル付け」セクションをご覧ください。
コミットメッセージで参照されている GitLab 課題の詳細を TeamCity UI 内に直接表示できます。
詳細については、ドキュメントの「TeamCity と課題トラッカーを統合する」セクションをご覧ください。
コミット作成者とチームメンバーに破損したビルドやテストの失敗を通知したり、成功したテストの実行を祝福したり、コードレビュー担当者に継続的インテグレーションチェックの完了や変更レビューの準備完了を知らせたりできます。TeamCity は Slack、メール、および IDE とブラウザーの通知をネイティブでサポートしているほか、リッチなプラグインエコシステムを通じて Microsoft Teams、Telegram、および Discord の通知を追加でサポートしています。
TeamCity Cloud と TeamCity On-Premises のどちらでも、既存の GitLab.com または GitLab CE/EE アカウントを使用して ID とアクセスの管理機能を提供できます。
ビルドとテストが失敗した場合、問題の性質を理解してその原因を特定することが最優先です。TeamCity は以下の機能を提供します。
高速に回せる短いフィードバックループは、効果的な DevOps 戦略において非常に重要です。TeamCity はビルドとテストのワークフローを合理化して最新の変更に関するインサイトを迅速に提供します。そのため、リリースプロセスが高速化され、あらゆる問題の調査と解決により長い時間を掛けることができます。
GitLab との統合機能は無料の自己ホストバージョンを含む TeamCity の全バージョンで利用できます。また、TeamCity Cloud を 14 日間無料でお試しいただくこともできます。
TeamCity と GitLab は異なる種類のツールであるため、これらを比較するのは不適切です。TeamCity は GitLab 組み込みの CI/CD 機能より多くの機能と柔軟性を備えていますが、課題追跡や Git ホスティングなどの機能はありません。
はい。TeamCity は GitLab Container Registry などの一般的な Docker レジストリをすべてサポートしています。一般的なプル操作や実行操作のほか、TeamCity はサーバークリーンアップ中に古い Docker イメージを自動的に除去することも可能です。これはオンプレミスの CI/CD セットアップで特に役立ちます。
詳しくは「TeamCity の Docker 統合」をご覧ください。
TeamCity プラグインを IntelliJ ベース IDE または Visual Studio にインストールすることで、コードをコミットせずに CI パイプラインを実行できます。この機能はゲーム開発者に特に人気です。