TeamCity の新機能

TeamCity 2019.1の新機能

TeamCity 2019.1は、再設計されたUI、ネイティブのGitLab統合、およびGitLabとBitbucketのサーバープルリクエストのサポートを提供します。トークンベースの認証、Goテストの検出とレポート、AWS Spot Fleetリクエストも含まれます。

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

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

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

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

プロジェクト概要

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

ブランチタブ

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

Sidebar

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

GitLab

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

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

Go 全工程

GoLand

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

トークンベース認証

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

Token-based authentication

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

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

AWS Spot Fleetリクエスト

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

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

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

Processing build lifecycle
Processing build lifecycle

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

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

このリリースには他にも機能があります。その他の新機能については、こちらを参照してください。

2018.2の新機能

セカンダリーTeamCityノードでスケーラビリティを向上

セカンダリーTeamCityノードは、バージョン管理システムからの変更を収集して確認するタスクを引き継ぐことによって、メインのTeamCityサーバーから負荷を取り除くように設計されています。VCS変更の収集をセカンダリーノードにアウトソーシングすることで、インストール全体のスケーラビリティが向上します。高可用性設定にセカンダリーノードを使用することも可能です。

リプレイ
リプレイ
  • ポーリング
  • コミットフック

GitHubプルリクエストを作成する

TeamCityはGitHub pull requestのサポートを拡張しました。作成者別にプルリクエストをフィルタリングして社内または社外の共同作業者に限定するか、全員に公開します。ターゲットブランチによってプルリクエストをフィルタリングするオプションもあります。

プラグインの操作性向上

プラグインリポジトリからインストールする

これで、JetBrainsプラグインリポジトリから直接TeamCityのプラグインを参照してインストールできます。

サーバーの再起動なし

プラグインがプラグインリポジトリからインストールされたら、それを適用するためにTeamCityサーバーを再起動する必要はもうありません。

手間のかからないプラグイン開発

同様に、TeamCity用のプラグインを開発するときには、もうサーバーを再起動する必要はありません。

テスト結果にスクリーンショットを追加する

TeamCity 2018.2を使用すると、スクリーンショットやその他のテストデータ(リンク、アーティファクト、ログ、数値など)をテスト結果に追加できます。これらはUIのテスト詳細セクションにネイティブに表示されます。

Kotlin DSLのプレビュー設定

Kotlin DSL形式で設定を記述するのが最善かどうかわかりませんか。TeamCityは現在あなたのすべての設定のために自動的にDSLコードを生成し、管理UIでそれをプレビューすることを可能にします。DSLフォーマットの学習や、DSLの一部をコピーして既存のsettings.ktsファイルに挿入するのに便利です。

調査を自動的に割り当てる

これで、TeamCityに多数のヒューリスティックに基づいて調査をチームメンバーに提案または自動的に割り当てることができます。そのようにして、ビルドを壊した可能性が最も高い人は、失敗を調査するための通知を受け取ります。

複数のNuGetフィード

TeamCity 2018.2を使用すると、プロジェクトおよびそのすべてのサブプロジェクトのビルドで使用される複数のNuGetフィードを指定できます。NuGetサーバーAPI v3のサポートも導入されています。

2018.1の新機能

TeamCity Professionalは無料です

100ビルド構成および同時 3 ビルドまで可能。フル機能でユーザーや時間制限もありません。

ようこそ新しいKotlin DSL

Kotlin DSLは大幅に改善され改善され、1つのファイルから簡単な使用箇所、移植性、プロジェクトの作成が可能になりました。

シンプル

DSLのフォーマットは単純化されました。TeamCityは、UUIDとプロジェクトIDを必要としなくなりました。これにより、コードがより単純になり、読みやすくなります。例として、これがTeamCityの基本的な「Hello world!」プロジェクトに必要なすべてのコードです。

オールインワン

1つの .teamcity/settings.kts ファイルがプロジェクト設定を記述するのに必要なすべてです。

ポータブル

Kotlin DSLスクリプトは、サーバーとプロジェクトに依存しなくなりました。つまり、異なるサーバー間で、または同じサーバー上のプロジェクト間でも同じスクリプトを共有できます。必要なのはリポジトリにそれをチェックインすることだけです。

URLから作成

TeamCityでプロジェクトを作成するときは、.teamcity/settings.kts ファイルでリポジトリを指定するだけで、TeamCityはすべての必要な設定とビルド構成でプロジェクトを自動的に作成します(コードの説明を参照)。

Kotlin DSLについての詳細(英語)

高可用性

新しい読み取り専用サーバーモードで、高可用性TeamCityインストールを起動します。読み取り専用サーバーは、データベースとデータディレクトリーにアクセスできます。メインサーバーが使用できなくなった場合は、すべての要求を受け入れ、ビルドやアーティファクトなどへの読み取りアクセスを許可します。シームレスなサーバーアップグレードの実行や予期しないダウンタイムの発生時に便利です。

IDEプラグイン
ユーザー
ビルド・エージェント
プロキシー
TCメインサーバー
TCメインサーバー
TC読み取り専用サーバー
TC読み取り専用サーバー
データベース
NASデータディレクトリー
  • メインサーバーが起動
  • メインサーバーがダウン

Dockerのサポートを改善

Dockerのサポートが大幅に改善されました。

Dockerラッパーは現在.NET CLIとPowerShellランナーをサポートします。

buildpush、およびその他のDockerコマンドは、新しいDockerランナーで直接使用できるようになりました。これは、古いDockerビルドランナーに代わるものです。

バンドルされているAmazon S3アーティファクトストレージ

TeamCity 2018.1には組み込みのAmazon S3サポートが付属しています。S3からの成果物の保管、アップロード、ダウンロード、および削除はネイティブに統合され、TeamCity UIを介して実行できるようになりました。統合によって依存関係とクリーンアップが処理されるため、ユーザーはS3が内部にあることを知る必要さえありません。