TeamCity 2019.1の新機能

新しい見た目、新しい感覚、クリック数はより少なく

今回のリリースで最初に気がつくのが大幅に刷新されたTeamCity のユーザーインターフェースでしょう。

我々は見た目を改善しただけではなく下層の技術的なスタックもアップデートしました。そのことでユーザーインターフェースは単一ページのアプリケーションとして動作するようになり、その一部にすばやくアクセスでき、すべての変更が即座に表示されます。計画されているすべて変更の最新の日付情報は TeamCity UI ロードマップ をご覧ください。

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

プロジェクトの概要

新しくなったプロジェクトの概要では、ビルド設定をダッシュボードスタイルで参照できるようになりました。最近のビルド最大14個まで、それぞれの設定がカードでヒストグラム表示されます。各ビルドについて、ステータス(緑は成功、赤は失敗を意味しています)やビルド時間、ビルドがキューの中でどの程度時間を要しているのかを確認することができます。現在実行中のビルドに関する情報も表示されます。

ブランチタブ

修正されたブランチタブでは、デフォルトブランチが上部に表示され、残りのブランチは下部の拡張可能なブロックに隠されます。デフォルトブランチの最近のビルドの詳細はすぐに参照可能になり、重要な情報の可視性が向上しました。

Sidebar

すぐに使える GitLib のフルサポート

GitLab

GitLab を使っていますか?TeamCity 2019.1 ではGitLabをフルサポートしました。一覧からGitLabプロジェクトを選択するだけで、GitLab 接続をセットアップし、ワンクリックで TeamCity のプロジェクトを作成できるようになりました。
また、GitLab のマージリクエストにも対応しました。それぞれのマージリクエストに対して、ビルドを自動的に実行し、ビルドが成功したら自動マージするよう TeamCity を設定できるようになりました。

Go 言語に幅広く対応

GoLand

Go 言語が TeamCity でネイティブにサポートされました。Go プロジェクトを追加すると、TeamCity は Go のテストを検出してレポートし、そのテストステータス、ビルド間のヒストリーおよび期間の詳細な洞察を提供します。不安定なテストについてはフレークとしてマークします。Test History タブでは Go のテストについてより深掘りすることができます。

トークンベースの認証

Basic 認証に加えて、TeamCity はパーマネントアクセストークンに基づく認証にも対応しました。トークンは REST API 認証に有効であり、スクリプト内でログインやパスワードを公開する必要がなくなります。

Token-based authentication

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

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

AWS のスポットフリートリクエスト

スポットインスタンスを作るよりフレキシブルな方法として、スポットフリートのより粒度の細かい管理ができるようになりました。TeamCity 2019.1 では、スポットフリートの設定ファイルの提示および編集、戦略の指定、ターゲットキャパシティの設定、インスタンスへのタグ追加などを行えるようになりました。AWS上でビルドを実行するより進化したコスト効果もある方法になります。

セカンダリノード上でのビルドライフサイクルプロセス

セカンダリノードは追加の責任を追うことになりました: ビルドサイクルのプロセスです。それを有効にすると、セカンダリノードはビルド関連のタスクを処理するようになります。例えばビルドの実行や終了、アーティファクツのアップロード、失敗条件の処理です。この変更によってメインサーバーからオフロードできる既に広範囲に渡っているタスクリストがセカンダリタスクに拡張されます。変更を収集し、リードオンリーのバックアップノードとしてとしての役目を果たし、今ではビルドライフサイクルも管理します。

Processing build lifecycle
Processing build lifecycle

オンデマンドでのツールローディング

ツールは、オンデマンドでエージェント上にロードされるのみになりました。必要なツールは、それらを必要とする最初のビルドがあったときだけロードされます。このことでビルドエージェントのアップグレード時間が大幅に改善され、かつネットワークトラフィックを節約できます。