TeamCity .NET による継続的インテグレーション

TeamCity は .NET ツールチェーンをフルサポートすることで、.NET プロジェクトに対応した完全な CI/CD ソリューションを提供しています。使用している .NET Framework のバージョンを問わず、Visual Studio の Denenv、MSBuild、.NET CLI、または多くの異なるツールを併用してビルドしているかを問わず、TeamCity は継続的なインテグレーション、デリバリー、デプロイに一貫して信頼できるプラットフォームを提供します。

.NET のビルド管理

TeamCity とバージョン管理システムを接続してプロジェクトのスキャンが完了するのを待つだけで、.NET の CI/CD を始められます。TeacmCity は自動的にソリューションファイルを検出してプロジェクトの構造を理解し、ビルドに必要なステップを提案します。TeamCity の強力な .NET ビルドランナーは、すべてのプラットフォーム、すべてのバージョンの .NET SDK、およびすべての最新および既存のビルドツールをサポートしています。

.NET の自動テスト

継続的なインテグレーションとデリバリーには自動テストからの迅速なフィードバックが欠かせません。TeamCity は NUnit、MSTest、xUnit、Gallio、MSpec といった主要な .NET テストフレームワークをネイティブでサポートしているため、VCS ホスティングプラットフォームと TeamCity UI にリアルタイムでテスト結果を配信できます。

組み込みの NuGet パッケージ管理

TeamCity は NuGet 統合と NuGet のパブリックおよびプライベートフィードをサポートしているため、プロジェクト依存関係の追跡と .NET パッケージへのアクセスの管理を簡単に行えます。TeamCity はビルドステップの中で必要な NuGet パッケージを自動的に復元し、パッケージとビルドアーティファクトを外部 NuGet フィードに公開し、NuGet Server 自体としても動作可能です。

.NET に対応した継続的インテグレーションツール

TeamCity に統合された .NET ビルドランナーは、.NET のビルド、テスト、公開タスクの大部分を処理し、あらゆるユースケースに対応する柔軟性を維持しながらビルド構成を合理化します。このランナーは以下をサポートしています。

  • .NET の CLI コマンド
  • Windows およびクロスプラットフォーム MSBuild
  • 「純粋な」Visual Studio IDE(devenv)
  • NUnit と XUnit を含む Windows とクロスプラットフォームのテスト
  • 各種オペレーティングシステムでの Windows、.NET プロセス、およびコマンドスクリプトの起動
  • NCover、PartCover、および dotCover によるコードカバレッジ
  • ログレベルやその他のパラメーター

.NET ビルドステップはホストのオペレーティングシステムに関係なく Docker コンテナーで実行できるため、CI/CD プロセスを合理化して開発ワークフローを高速化できます。技術的な詳細については、ドキュメントの .NET のセクションをご覧ください。

.NET の継続的インテグレーションをレベルアップしませんか?

あらゆる規模の開発チームに合ったソリューションを用意しています。デリバリーパイプラインを全般的に微調整したい場合は TeamCity On-Premises、クラウドホスティング型のマネージドサービスが必要な場合は TeamCity Cloud をお選びください。

C# スクリプトランナーによるビルドとテストの自動化

TeamCity の C# スクリプトランナーは、お気に入り言語を使ってビルド、テスト、およびデリバリーのジョブをセットアップする方法を求めている .NET 開発者に理想的なソリューションです。環境のセットアップ、OS ユーザーの管理、ビルドステータスの通知など、CI/CD パイプラインに関連するさまざまなルーチンタスクを自動化できます。

C# スクリプトランナーは Windows、Linux、および macOS で動作し、Docker コンテナー内で実行できます。構成スクリプト内ではビルドパラメーター、環境変数、およびシステムプロパティを参照できます。ランナーはパブリックフィード、プライベートフィード、および TeamCity の内部 NuGet フィードにアクセスできるため、自動的に NuGet パッケージを復元できます。

.NET プロジェクトの CI/CD インフラストラクチャをスケーリング

.NET はウェブとモバイルアプリ、クラウドサービス、およびデスクトップアプリケーションを作成するための最先端プラットフォームの 1 つとして多くのゲーム制作会社や大企業によって使用されています。TeamCity ではプロジェクトの規模や複雑さ、ピーク時のチームの負荷を問わず、待たされることはありません。クラウドで新しいビルドエージェントを起動することで CI/CD インフラストラクチャの能力を動的に増強できるため、ビルドキューをなくし、全体的なビルド時間を短縮することができます。

自動スケーリングは、Amazon EC2、Microsoft Azure、Google Cloud、VMWare vSphere、Kubernetes などの各種クラウドプラットフォームで利用可能です。TeamCity はビルドエージェントのパフォーマンス監視も行うため、常にパイプラインに最適な量のリソースを使用できます。

.NET に対応した CI/CD パイプラインの構成

バージョン管理システムのサポート

TeamCity は、.NET プロジェクトのソースコード構成を問わずビルドすることができます。このソリューションは、Git、Perforce、Mercurial、Subversion、Team Foundation(TFVC)など、すべての一般的なバージョン管理システムとシームレスに統合します。コードがモノリポに保管されているのか、複数の VCS に分散されているのか、クラウドでのホストかオンプレミスでのホストかに関わらず、あらゆるタイプのリポジトリに対して同じ連携方法を提供しているため、独自の VCS 管理スクリプトを作成することなく優れたアプリの開発に専念できます。

詳しくは「TeamCity のバージョン管理システム統合」をご覧ください。

課題トラッカーのサポート

TeamCity はフィードバックループを短縮するだけでなく、チームが全体的により効果的にコラボレーションできるように支援します。課題追跡システムと連携することで、課題を特定のコミット、ビルド、およびデプロイまで追跡し、より合理化された効率的な開発ワークフローを実現できます。TeamCity は Jira、Azure DevOps、YouTrack、GitHub、GitLab、Bitbucket Cloud などの一般的な課題追跡システムとの統合など、幅広い統合機能を提供しています。

パイプラインの自動最適化

TeamCity は最も効率的なビルドエージェントの検出、最適なタスク実行順の計算、変更されていないアーティファクトの再利用、複数のビルドエージェントへのテストの分散と並列実行、およびその他多数のパイプラインの最適化処理を自動的に行うことで、バグの早期検出やリリースプロセスの高速化を支援します。

FAQ: TeamCity による .NET アプリの継続的インテグレーション

TeamCity の無料バージョンで .NET アプリをビルドできますか?

はい。.NET ビルドランナーは無料の自己ホスト型バージョンの TeamCity Professional を含むすべてのバージョンでご利用いただける無料の機能です。TeamCity Cloud では 14 日間の試用期間中に無料でご利用いただけます。C# スクリプトランナーNuGet 統合を含むその他すべての関連機能に同じライセンスポリシーが適用されます。

以前に .NET に使用したビルドランナーが非推奨として表示されるのはなぜですか?

既存の MSBuildVisual Studio(sln)Visual Studio 2003、および Visual Studio Tests のビルドランナーのサポートは終了しており、互換性の理由でのみ残されています。.NET の継続的インテグレーションに対する最新のサポートを得るには、新しい統合 .NET ビルドランナーに移行してください。

TeamCity は Docker コンテナー内で .NET ビルドを実行できますか?

はい。TeamCity ではビルドをビルドエージェントで直接実行するか、Docker で実行するかを選択できます。ビルドパラメーターを使用して Docker コマンドをカスタマイズする、テンプレートを使用してパイプラインを一元的にセットアップする、使用されなくなった Docker イメージをビルドエージェントとレジストリから自動削除するといったことが可能です。

TeamCity は他にどのプログラミング言語をサポートしていますか?

TeamCity はあらゆるプログラミング言語をサポートし、ソフトウェアのビルドとテストに使用されるすべての一般的なツールを統合する汎用の CI/CD ソリューションです。.NET ビルドランナーのほかに、GradleMavenNode.jsPythonKotlin、およびその他のテクノロジー専用のランナーが備わっています。カスタムビルドスクリプトは一般的なコマンドラインランナーを使って実行可能です。