TeamCity の新機能

TeamCity 2020.1の新機能

TeamCity 2020.1は条件付きビルドステップを特徴とし、Kubernetesクラスターでビルドエージェントを起動できるようにし、Azure DevOpsおよびJira Software Cloudと統合します。マルチノードセットアップでセカンダリサーバーにより多くの機能を追加し、新しいSlack通知機能が付属し、実験的なUIに多くの大きな改善が加えられています。

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

Conditional build steps for unconditional versatility

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

クラスターでスケールを使用してビルドします。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で実行できるのと同様に、Azure DevOpsのプルリクエストブランチでビルドを自動的に実行できます。

新さくらUI

New Sakura UI

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

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

このリリースには他にもあります! TeamCity 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は、ビルドチェーンを定義するためのシンプルで非常に簡単な構文を提供するようになりました。順次ビルドと並列ビルドをセットアップし、障害状態と依存関係を構成し、すべてをコードとして保存します。

多くのパラメーター。1つのテンプレート。

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

さらに実行します。ちょっと待って。Gitパッチでビルドを開始します。

Gitパッチを作成してTeamCityにアップロードし、パーソナルビルドを実行して、ブランチを作成したり、コミットしたりすることなく、変更をすばやくテストします。

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

TeamCity 2019.1の新機能

新しい外観、新しい操作性、少ないクリック数

New UI Sidebar Project overview

TeamCity の UI は大幅に改善されています。このバージョンで最初に使用する機能を紹介します。

外観が改善されただけでなく、基盤となるテクノロジースタックも更新されたため、UIは単一ページのアプリケーションとして機能するようになりました。つまり、UIの一部にすばやくアクセスでき、すべての変更が即座に反映されます。TeamCity UIロードマップ(英語)を参照して、計画されているすべての変更を最新の状態にしてください。

2019.1では、プロジェクトとビルド構成の作業に関連するページをターゲットにしています。

プロジェクト概要

新しいプロジェクトの概要では、ビルド構成をダッシュボード形式で確認できます。各設定は、最新の14個までのビルドのヒストグラムを表示する独自のカードを取得します。各ビルドについて、ステータス(緑色は成功、赤色は失敗)、ビルド時間、およびビルドがキューで費やした時間を確認できます。現在実行中のビルドに関する情報もあります。

The Branches tab

ブランチタブ

作り直されたブランチタブは一番上にあなたのデフォルトブランチを表示します。その拡張可能なブロックで残りのブランチを隠します。デフォルトのブランチの最新ビルドの詳細がすぐに表示されるようになり、重要なデータの可視性が向上しました。

すぐに利用できるGitLabの完全サポート

Full GitLab integration
GitLab

GitLabを使っていますか? TeamCity 2019.1はGitLabの完全サポートを追加します。リストからGitLabプロジェクトを選択するだけで、1回のクリックでGitLab接続を設定し、TeamCityでプロジェクトを作成できるようになりました。

GitLabのマージリクエストのサポートも追加されたため、各マージリクエストに対して自動的にビルドを実行し、ビルドが成功した場合はそれを自動マージするようにTeamCityを設定できます。

Go 全工程

Native Go support
GoLand

Go言語は現在TeamCityによってネイティブにサポートされています。Goプロジェクトを追加すると、TeamCityはGoテストを検出してレポートし、テストのステータス、ビルドの履歴、および期間についての詳細なインサイトを提供し、不安定なテストを不安定なものとしてマークします。テスト履歴タブを使用すると、Goテストをさらに深く掘り下げることができます。

トークンベース認証

Token-based authentication

基本的なHTTP認証に加えて、TeamCityはパーマネントアクセストークンに基づく認証をサポートするようになりました。トークンはREST API認証に役立ちます。そのため、スクリプトでユーザーのログイン名とパスワードを公開する必要はありません。

ソース同期なしのスナップショット依存関係

Snapshot dependencies without sources synchronization

スナップショットの依存関係に対するコードリビジョンの同期をオフにできるようになりました。これはデプロイを実行するときに便利で、最新のデプロイ設定を使用してチェーンの古いビルドの1つをプロモートすることを可能にします。

AWS Spot Fleetリクエスト

Processing build lifecycle

スポットインスタンスを作成するためのこのより柔軟な方法で、スポットフリートをよりきめ細かく制御することができます。TeamCity 2019.1を使用すると、スポットフリート設定ファイルを送信および編集し、戦略を指定し、ゴール容量を設定し、インスタンスにタグを追加することができます。これは、AWS上でビルドを実行するためのより高度で費用対効果の高い方法です。

セカンダリノードでのビルドライフサイクルの処理

セカンダリノードには追加の責任があります。ビルドライフサイクルの処理です。これをオンにすると、2次ノードはビルドの実行と終了、成果物のアップロード、失敗条件の処理など、ビルド関連のタスクを処理します。この変更により、メインサーバーからオフロードできる既に広範なタスクの一覧が、セカンダリサーバーに拡張されます。変更の収集、読み取り専用のバックアップノードとしての機能、ビルドライフサイクルの処理です。

Processing build lifecycle

オンデマンドツールの読み込み

ツールはオンデマンドでエージェントにのみロードされます。必要なツールは、必要とする最初のビルドが表示されたときにのみロードされます。これにより、ビルドエージェントのアップグレード時間が大幅に短縮され、ネットワークトラフィックが節約されます。

このリリースには他にもあります! 他の新機能について調べましょう。