TeamCity の新機能

TeamCity 2020.2 の新機能

TeamCity 2020.2 は、外部サービスを使用したプライバシーに配慮したログインを導入し、まったく新しい Python ビルドランナーを備え、Bitbucket クラウドおよび JetBrains スペースと統合します。これにより、ビルドエージェントを占有せずに外部サービスでビルドを実行でき、マルチノードセットアップのセカンダリサーバーでプロジェクト編集のロックを解除できます。管理者は、サーバーのクリーンアップスケジュールをカスタマイズし、外部ストレージの場所のディスクスペース使用量を表示できるようになりました。そして、新しい SakuraUI のアップデートを気に入るはずです。

GitHub、GitLab、または Bitbucket アカウントで挨拶する

Say hello with your GitHub, GitLab, or Bitbucket account

継続的インテグレーションは、すべての開発者の日常生活の一部であることが望まれます。より多くのワークフローをサポートし、TeamCity のエクスペリエンスをよりスムーズにするために、外部サービス(GitHub、GitLab、Bitbucket)を使用した認証をサポートするようになりました。

TeamCity 2020.2 は、外部 OAuth アカウントを既存の TeamCity ユーザーと即座に照合し、パスワードを入力しなくてもプロジェクトで作業できるようにします。GitHub 組織や GitLab グループなど、サポートされているサービスのユーザーディレクトリ機能と統合され、新しいメンバーがチームに参加したときに新しいプロファイルを自動的に作成できます。

クラウドサービスに加えて、TeamCity 2020.2 は GitHub(GitHub Enterprise)と GitLab(GitLab セルフホスト)のオンプレミスインストールをサポートします。

Bitbucket クラウド: 今プルリクエスト

Version 2020.2 extends the integration with Bitbucket Cloud by adding support for pull requests. Now you can set up TeamCity to automatically pick up pull requests made in your Bitbucket Cloud repository and run the respective builds: Together with the Commit Status Publisher and the Automatic Merge features, this creates an amazing combination, making it possible to work with your favorite tools most efficiently.

Python を話しますか? Python を構築してください !

As Python becomes the second most popular programming language in the world, you want your continuous integration system to support all of its modern features and development practices: This is why we created the all-new Python ビルドランナー , which enables you to use the power and intelligence of TeamCity in your Python projects: The new build runner works with all operating systems, supports virtual environments, and integrates with all common testing frameworks and code inspection tools for Python.

Python ビルドとテストの結果は、他のすべての TeamCity ビルドランナーと同じ方法で、TeamCityUI に報告されます。変更の追跡、障害の分析、調査の割り当て、他のすべての TeamCity 機能を使用できます。

宇宙へのメッセージ…

JetBrains スペースは、 ステータス発行者のコミット機能でサポートされるサービスのリストに追加されました。これまで、変更によって何も破損していないことを確認するには、TeamCity を開いて、そこでビルド結果を検索する必要がありました。新しい統合により、Commit Status Publisher はビルドのステータスを Space に自動的に送信し、プロジェクトの Commits ページに表示できるようにします。

エージェントレスのビルド手順でエージェントを最大限に活用する

Do your CI/CD pipelines rely on external services, tying up your build agents as they wait for external jobs to finish? Or even worse, do they run in AWS or another cloud, and not only waste your time but also burn your money? Then you ’ re going to love agentless build steps in TeamCity 2020.2: Your builds can now execute their final steps in agentless mode, releasing the build agents and allowing them to run other queued tasks: TeamCity displays agentless build steps as standard builds and will enable you to track their status, browse their logs, and view their history.

Many servers: One experience.

大規模な TeamCity を使用してこれまで以上に構築しているため、マルチサーバー機能を引き続き推進しています。バージョン 2020.2 では、セカンダリサーバーはプライマリサーバーに向けて大きな一歩を踏み出し、プロジェクトレベルの設定を編集できるようにします。これにより、プライマリサーバーのメンテナンス中にチームが新しいビルドをセットアップできるようになります。

プロ管理者向けのプロ機能

External storage in Disk Usage monitor

ディスク使用量モニターの外部ストレージ

Amazon S3 などのクラウドにアーティファクトを保存することを好むユーザーが増えています。2020.2 以降、TeamCity は、ローカルドライブだけでなくリモートの場所でもビルドが占有しているディスク容量を表示します。

Customizable clean-up schedule

カスタマイズ可能なクリーンアップスケジュール

クリーンアップ機能がさらに強力になりました。これで、cron のような式を使用してスケジュールをカスタマイズし、サーバーのクリーンアップを定期的に(たとえば、週末や 1 日 2 回)開始することができます。

さくら UI: 機能とデザインの完璧な組み合わせ

素晴らしい UI チームは、実験的な「Sakura」UI でより多くの機能を提供し、より多くのユースケースをサポートするために懸命に取り組んできました。TeamCity 2020.2 には、エンドユーザーだけでなくプラグイン開発者向けに設計された多くの優れた機能が付属しています。

Build Dependencies

依存関係を構築する

CI / CD を使用する上で重要な部分の 1 つは、すべてがどのように構築されているかを全体的に理解する機能です。TeamCity 2020.2 は、この領域で 2 つの重要な改善を依存関係を構築するページにもたらします。

  • タイムラインビューには、開始および終了したビルドだけでなく、キューに入れられたビルドも表示されるようになりました。
  • ビルドチェーンビューに、チェーンの「正しい」部分が表示されるようになりました。現在のビルドに依存するすべてのビルドです。

テスト履歴ページ

TeamCity 2020.2 は、Sakura UI にもう 1 つ欠落している部分を追加します。それは、新しいテスト履歴ページです。新しいページには、テストに関する詳細情報が表示され、傾向の分析、調査履歴の確認などが可能です。

Build log search

ログ検索を構築する

ユーザーからの最も人気のあるリクエストの 1 つであるビルドログ検索を実装しました。ビルドログの参照、セットアップのデバッグ、およびビルド中に何が起こるかを理解することがはるかに簡単になりました。

SakuraUI プラグイン開発フレームワーク

TeamCity は常に拡張ポイントを提供し、開発者がその機能を構築できるようにしました。バージョン 2020.2 から、ユーザーインターフェース用のプラグインを作成および統合する新しい方法を提供します。詳細については、TeamCity TechnologyDay のこの講演をご覧ください。

Sakura UI: the perfect combination of features and design

新しいビルドキューページはスタイリッシュで、非常に高速に動作し、必要なものすべてを簡単に見つけることができます。キューに入れられたすべてのビルドの変更をすばやく確認し、ビルドのトリガーと実行場所を理解し、ビルドが開始される推定時間を取得し、他のすべてのビルド情報をわかりやすく便利な UI で表示できます。不要なビルドを選択してキューから削除するか、より早く完了する必要のあるビルドがある場合は、リストの一番上に移動できます。

これらは、TeamCity を強化する方法のほんの一部です。バージョン 2020.2 での変更の完全なリストについては、TeamCity のドキュメントを参照してください。

TeamCity 2020.1 の新機能

TeamCity 2019.2 は、ビルドのクリーンアップを管理し、サーバーのパフォーマンスを監視するための優れた新しい方法を提供します。EC2 起動テンプレートをサポートし、ビルドチェーンを定義するための新しい DSL 構文を備えています。また、Git パッチを使用してパーソナルビルドを実行する簡単な方法を提供し、実験的な UI に多くの改善を追加します。

無条件の多様性のための条件付きビルドステップ

Conditional build steps for unconditional versatility

異なるプラットフォームで異なるコマンドラインスクリプトを実行したり、異なるブランチの変更を異なるステージングサーバーにデプロイしたりしたことがありますか?ほとんど何でもすることが自由です ! TeamCity 2020.1 を使用すると、 ビルドステップの条件を指定し、基準が満たされた場合にのみ実行することができます。

Build with scale in a cluster: 10x K8s.

Build with scale in a cluster. 10x K8s.

シンプルで再現性のあるクラスターデプロイがそのまま使用できるようになりました。TeamCity 2020.1 を使用すると、Kubernetes の上にスケーラブルな CI / CD アーキテクチャを実装できます。ビルドエージェントは、必要なときに自動的に起動し、ジョブを実行して、ビルドの補完後に削除できます。

マルチサーバーマジック

Multi-server magic

複数の TeamCity サーバーを実行して連携させることで、CI / CD をまったく新しいレベルのパフォーマンスと信頼性にプルアップすることができます。トリガー処理と UI でのユーザーレベルのアクションのサポートを使用してセカンダリサーバーの機能を拡張することにより、クラスタリング環境での TeamCity の動作を改善しました。

トリガー処理

大規模なインストールを扱う専門家は、VCS の変更、パッケージの更新、新しいアーティファクトで起動する何千ものトリガーを何千とは言わないまでも持っています。可能な限り最高のパフォーマンスを実現するために、セカンダリサーバーがこのプロセスに参加し、プライマリサーバーの負荷を軽減できるようになりました。

ユーザーレベルのアクション

セカンダリサーバーの UI が改善され、ユーザープロファイルの変更、プロジェクトと構成のビューの変更、ビルドエージェントの管理などが可能になりました。

クラウドビルドエージェントのより簡単なデプロイ

TeamCity 2020.1 には、TeamCity サーバーからパッケージ済みのエージェントディストリビューションをダウンロードするための新しいオプションが付属しています。事前にパッケージ化されたビルドエージェントは、TeamCity サーバーへの接続時に自身を更新する必要がないため、クラウドイメージの作成と更新がより迅速かつ簡単になります。

通知をレベルアップ

Level up your notifications

TeamCity の通知機能を新しいレベルにプルアップするために、プロジェクト管理者がチーム全体に自動アラートを 設定できるようにする新しいビルド機能を実装しました。新しい通知はビルド構成レベルで構成できるため、Kotlin DSL を使用して編集、再利用、共有できます。

まったく新しい Slack ノーティファイアを使用すると、チームはビルドのステータスに関する通知を Slack で直接取得できます。

統合の力

Jira Software Cloud

Jira ソフトウェアクラウド

TeamCity は、Jira との洗練された統合を常に備えています。これにより、コミットメッセージの課題コードが、それぞれの Jira 課題へのリンクに自動的に置き換えられます。さらに多くのワークフローをサポートするために、統合を拡張し、ビルドとデプロイのステータスを Jira Software Cloud に送信するようになりました。これで、課題トラッカーで CI / CD パイプラインとリリース履歴を調べ、失敗したビルドに関連する課題を確認できます。

Azure DevOps

Azure DevOps

プルリクエストビルド機能でサポートされる Git ホスティングサービスのリストを拡張し、Azure DevOps プルリクエストのサポートを追加しました。新しいオプションを使用すると、GitHub や GitLab で実行するのと同じように、AzureDevOps のプルリクエストブランチでビルドを自動的に実行できます。

新さくら UI

New Sakura UI

ほとんどの開発者は毎日 CI / CD を使用しており、我が家のように感じてもらいたいと思っています。これが、高速で使いやすい新しい UI を作成するための探求を続け、新しい機能をより速く提供できるようにする理由です。

従来の TeamCity のより多くの使用例をサポートするために、バージョン 2020.1 の実験的な UI には、更新されたエージェントおよびプロジェクトページが付属しており、プロジェクトのサイドバーを構成できます。

バージョン 2020.1 の変更点の完全なリストについては、TeamCity のドキュメントを参照してください。

TeamCity 2019.2 の新機能

TeamCity 2019.2 は、ビルドのクリーンアップを管理し、サーバーのパフォーマンスを監視するための優れた新しい方法を提供します。EC2 起動テンプレートをサポートし、ビルドチェーンを定義するための新しい DSL 構文を備えています。また、Git パッチを使用してパーソナルビルドを実行する簡単な方法を提供し、実験的な UI に多くの改善を追加します。

クリーンアップを強化する

Clean-up rules in TeamCity

TeamCity 2019.2 は、ビルドによって作成された履歴データとアーティファクトを制御する新しい次元を開きます。修正されたクリーンアップエンジンを使用すると、さまざまなフィルターを使用してさまざまなクリーンアップポリシーを設定できます。たとえば、特定のブランチまたは特定のタグからすべてのビルドを保持するように選択できます。

新しいクリーンアップルールは、多くのプロジェクトを持つ企業や、開発中に機能ブランチを使用するチームにとって特に役立つと考えています。

CI の鳥瞰図

TeamCity metrics in Prometheus

プロは、ミッションクリティカルなシステムの動作とパフォーマンスを監視するツールを愛しています。2019.2 から始まって、TeamCity は HTTP エンドポイントを介してメトリックを公開するため、Prometheus によってスクレイピングされ、Prometheus Web インターフェースまたは Grafana ダッシュボードで視覚化できます。

メトリックには、サーバーのパフォーマンス情報のほか、エージェント、プロジェクト、ビルド構成に関するさまざまな詳細が含まれます。

さらに拡張されたスケーラビリティ

多くの大規模な組織にとって、高性能 CI はワークフローにとって重要です。TeamCity は、マルチノードセットアップに向けてさらに一歩進んで、ビルドをビルドキューに追加し、ビルドの問題と調査を管理し、セカンダリサーバーで他のユーザーレベルのアクションを実行できるようにします。

テスト運用版 UI で生産性を高めるためのその他の方法

New build page in experimental UI

開発者は 1 日に何度も TeamCity を開くことが多いため、プロジェクトのサイズや複雑さに関係なく、必要なものをすばやく見つけられる場所にしたいと考えています。TeamCity UI ロードマップに従って、ビルド履歴を閲覧し、問題を調査し、ビルドチェーンの構成ミスやボトルネックを発見する簡単な方法を提供する新しいビルドページを導入します。

実験的な UI を確認してください。現在の外観と操作性に誇りを持っています。

EC2 起動テンプレート: ビルドが新たな高みへ

Support for EC2 launch templates

TeamCity には、最新のワークフローに必要なすべてのものが必要です。バージョン 2019.2 では、EC2 起動テンプレートのサポートが追加され、AWS アカウントの起動パラメーターを使用してクラウドビルドエージェントを実行できます。起動テンプレートを使用すると、ビルドエージェントでの新しいソフトウェアの更新とインストールは非常に簡単で簡単なタスクになります。TeamCity プロジェクトの構成を変更する必要はなくなりました。

DSL をレベルアップする

チェーンをビルド、簡単にビルド

さようなら、こんにちはスクリプト。Kotlin DSL は、ビルドチェーンを定義するためのシンプルで非常に簡単な構文を提供するようになりました。順次ビルドと並列ビルドをセットアップし、障害状態と依存関係を構成し、すべてをコードとして保存します。

Many parameters: One template.

プロジェクトの構成が簡単になりました。2019.2 からは、Kotlin DSL 構成にカスタムパラメーターが含まれることがあります。カスタムパラメーターは、UI でプロジェクトをインポートするときに後で定義できます。

さらに実行: Wait less: Start builds with Git patches.

ブランチを作成したり、何もコミットしたりせずに、Git パッチを作成し、それを TeamCity にアップロードし、パーソナルビルドを実行することで、変更をすばやくテストする

バージョン 2019.2 の変更点の完全なリストについては、TeamCity のドキュメントを参照してください。