I would like to view this page in
TeamCity のコード品質機能を使用すると、安定性と信頼性に優れたソフトウェアをより素早く提供できます。個々の変更を検証してフィードバックを迅速に提供し、検出された課題の管理を合理化します。
TeamCity のコード品質機能では、パイプラインが動作するたびにコードの機能、可読性、セキュリティ、管理性を評価し、問題が検出された場合には自動的に失敗するようにステップを構成できます。
効果的な CI/CD プロセスで最も重要なのは、フィードバックサイクルを短縮することです。問題の警告を早期に受けることができれば、より効率的に対処できるためです。そのため、TeamCity では必要なインサイトを提供する迅速なフィードバックが優先されています。
コードへの変更をバージョン管理システムにコミットする前に検証します。コードがすべてのテストに合格すると、TeamCity が変更を指定のブランチに自動的にマージします。
TeamCity にはコード品質の追跡と強化を行うためのリッチな機能が組み込まれています。広範なテストフレームワークからコードインスペクションまでをサポートしているため、品質の高いコードをエンドユーザーにより素早く提供できます。
広範なテストフレームワークとオンザフライレポート機能がネイティブでサポートされているため、TeamCity では自動テストを CI/CD パイプラインに組み込むことができます。
次のようなテストフレームワークがサポートされています。
使用しているツールがまだサポートされていない場合は、TeamCity の広大なプラグインエコシステムをご覧ください。また、TeamCity の API を使用して任意のツールのプラグインを新規に作成することも、カスタムスクリプトをビルドとテストのパイプラインに統合することも可能です。
自動テストカバレッジの範囲を監視することで、CI/CD パイプラインが動作するたびに自動テストカバレッジのベースラインを確実に維持できます。
TeamCity は初期状態で dotCover、NCover、PartCover for .NET と統合し、IntelliJ IDEA、EMMA、JaCoCo を通じて Java コードカバレッジレポートをサポートしています。他のコードカバレッジツールについては、結果をインポートしてそのデータを使えば、ビルドステップの成功または失敗を判定できます。TeamCity における Java コードカバレッジと .NET コードカバレッジについては、ドキュメントをご覧ください。
TeamCity には、可読性、保守性、一般的なコードの臭いから潜在的なパフォーマンスの課題やバグに至るさまざまな問題に関するフィードバックを瞬時に提供できるコードインスペクションツールがバンドルされています。
ReSharper(.NET 言語、JavaScript、HTML、CSS 用)、IntelliJ IDEA(Java、JavaScript、HTML、XML 用)、Qodana、または FxCop によるコードインスペクションを自動ビルド・テストパイプラインに組み込んで実行できます。
TeamCity の本質は、安定性と信頼性に優れたソフトウェアをより素早く提供できるようにすることです。フィードバックループが短縮されれば、より迅速にコードを出荷できるようになります。
TeamCity の形式をお選びください。
JetBrains が運用
所有するインフラストラクチャの管理よりも顧客へのソリューション提供に専念したいチーム向けのマネージドサービスです。
ユーザーが運用
すべてを社内にまとめ、パイプラインを全面的に管理したいチーム向けの自己ホスト型ソリューションです。小規模プロジェクトの場合は無料です!
重複コードはメンテナンスの悩みの種です。そのため、TeamCity は IntelliJ IDEA と ReSharper にバンドルされており、Java と .NET コードを IDE で直接確認できるようになっています。コーディングに伴うコピーと貼り付けに起因する問題を確認することで、重複を含む変更がマージされ、他のチームメンバーに共有されるのを防ぐことができます。
効果と効率の高い CI/CD プロセスを実現するには、フィードバックループを短縮する必要があります。TeamCity には必要なインサイトを得るために必要なツールがすべて備わっています。
CI/CD パイプラインの各ステージの結果を閲覧し、テスト結果、コードインスペクション、重複解析、コードカバレッジ評価の詳細を TeamCity ウェブアプリから直接確認することができます。テストメタデータとビルドログを使用して、失敗の原因を迅速に特定できます。
VCS ホスティングシステムを終了せずに最新ビルドの結果を閲覧できます。GitHub、GitLab、Bitbucket、Azure DevOps、Perforce Helix Swarm などに利用できる TeamCity の Commit Status Publisher は、個々のコミットに対するビルドとテストの更新情報をリアルタイムに提供します。
インテリジェントなテスト並列化により、自動テストフェーズのスループットを最大化できます。TeamCity は前回のテスト実行から得られたデータに基づいて最も効率的な作業負荷の分散方法を導出します。
問題の根源を特定したら、それに対処しなければなりません。TeamCity の包括的な UI とリッチなビルド機能で合理化された CI/CD パイプラインを作成してください。
TeamCity は広範なビルド失敗条件を提供しているため、チームのニーズに応じてパイプラインをカスタマイズできます。
TeamCity の不安定なテスト機能を使って不安定なテストを特定し、そのテストが修正されるまでビルドを続行できるように結果を無視できます。
TeamCity にビルド、問題、または失敗したテストの調査に最適な担当者の特定を任せることで、優れたコードの記述に専念できます。
順調にいけば、フィーチャーブランチからメインラインへのマージを TeamCity に任せられます!別のパイプラインをトリガーし、メインブランチのビルドとテストを実行することもできます。
Qodana は JetBrains の静的コード解析を使用するコード品質プラットフォームです。 CI 側で解析をトリガーし、CI ツールまたは IDE 内で即座にフィードバックを返すことができます。また、開発チームが事前に同意した品質基準に沿って開発できるように支援します。 Qodana を使うと、可読性、保守性、安全性に優れたコードををチームで作り上げ、自信のあるソフトウェアを出荷することができます。
詳細は、ドキュメントの Qodana のセクションをご覧ください。
コード品質にはソフトウェア内のバグの件数だけでなく、コードの可読性や保守性も考慮されます。現時点でも、将来的に機能が拡充された場合でも、コード品質が高いほどソフトウェアが期待通りに動作する可能性が高くなります。
最も一般的なコード品質の追跡ツールには、SonarQube や Crucible などが挙げられます。TeamCity は広範なコード品質追跡ツールを提供しており、このような外部製品とのシームレスな統合を実現できます。
コードが構造的に不備がある場合や過度に複雑である場合、コードの動作テストやコードの保守がより困難になります。その結果、バグのリスクが高まり、チームが新しい機能を提供するのがより困難になってしまいます。
追加のサブスクリプションが必要なサードパーティツールとは異なり、TeamCity にバンドルされているすべてのコード品質追跡ツールは無料で、無料の On-Premises 版である TeamCity Professional を含む通常の TeamCity サブスクリプションが付帯しています。
コード品質追跡機能が組み込まれた強力な CI/CD ツール