2018/05/07
Visual Studio Team Services(VSTS)のSprint 134アップデートでは、Ruby、Python、およびJava言語のBuildのサポートを強化し、Releaseするためのさらに多くの展開オプションを提供します。これらのオプションの1つとしてAzure DevOps ProjectsのAzure Kubernetes Service(AKS)を追加しました。規模の拡大が可能なコンテナ化アプリケーションを開始する時に役立ちます。ここ数ヶ月プレビュー状態であったrelease gatesは、リリース環境全体で漸進的な展開の制御を自動化するために役立ちます。
豊富なサンプルデータと設定を使用してVSTSのデモや学習を簡単に行えるVSTS Demo Generatorの新しいバージョンも用意されています。
- 様々なバージョンのRubyを使用してRubyアプリをビルドする
- 様々なバージョンのPythonを使用してPythonアプリのビルド、テスト、発行を行う
- Hosted agentにインストールされているJava 10を使ってJavaアプリケーションをビルドする
- XCodeビルドでxcprettyのビルドとテスト出力を強化する
- リリースゲートの一般提供開始により、展開を逐次広げていく
- Azure DevOps Projectsを使ったAzure Kubernetes Service (AKS)とAzure Service Fabricへの展開
- Azure DevOps Projectsを使って、Azure SQL Databaseを展開する
- Azure Stackへのハイブリッドアプリケーションのリリース
- ReleaseでHelmを使ったバージョンコントロール
新しいIsEmptyクエリ演算子を使用すると、Descriptionなどのリッチテキストフィールドが空になっている作業項目が検索できます。この機能は、提案に基づいて優先順位が付けられました。
Rubyバージョン2.3.7、2.4.4、および2.5.1がhosted agentに追加されました。ビルドステップにUse Ruby Versionタスクを追加することで、パイプラインで使用するRubyのバージョンを設定します。指定したRubyのバージョンは、エージェントのツールキャッシュからインストールされ、オプションでビルドのPATH環境変数に追加されます。>= 2.4
という書式を使ってバージョン番号の範囲も設定できます。
Pythonバージョン2.7.14,3.3.7,3.4.8,3.5.5,3.6.4、および3.7.0-b2が、hosted agentで利用可能になりました。パイプラインで使用するPythonのバージョンを設定するには、ビルドステップにUse Python Versionタスクを追加します。指定したPythonのバージョンは、エージェントのツールキャッシュからインストールされ、オプションでビルドのPATH環境変数に追加されます。>=3.3
という書式を使って、バージョン番号の範囲も設定できます。
複数のバージョンのPythonでPythonパッケージをテストする一般的なシナリオでは、ビルドパイプラインを作成するときにPython Packageテンプレートを選択します。複数のPythonバージョンでテストを実行し、オプションでパッケージを公開するための初期ステップセットを提供します。
Linux、macOS、およびWindowsを実行しているhosted agentにJava 10がプリインストールされました。Ant、Gradle、およびMavenのビルドタスクにおいて、Java 10とアーキテクチャーの選択が簡単にできます。
xcprettyはxcodebuild出力の可読性を高め、JUnit形式でテスト結果を生成します。xprettyはmacOS hosted agentにインストールされており、Xcodeビルドタスクにおいて、自動的に使用されるようになりました。xcprettyの出力はxcodebuildの出力とは異なり、あまり詳細な出力ではありませんが、VSTSでは各ビルドで完全なxcodebuildログが利用できます。
デプロイメントのデータドリブン承認を可能にするRelease gateの一般提供が開始されました!Release Gateを使用すると、リリースが次の環境に展開される前に満たす必要のあるアプリケーション正常性基準を指定できます。指定されたすべてのゲートは、すべての展開が成功するまで、展開前または展開後に定期的に評価されます。標準で四種類のゲートが用意されており、Marketplaceからさらにゲートを追加できます。デプロイメントに必要なすべての基準が満たされているかどうか監査できます。詳細については、リリースゲートのドキュメントを参照してください。
DevOpsプロジェクトで新しいNode.js、.NET Core、またはJavaベースのアプリケーションを構築するとき、Azureが完全管理するKubernetesサービスであるAzure Kubernetes Service(AKS)が選択できます。また、独自のコードから既存のアプリケーションで始めることもできます。アプリケーション言語、ランタイム、AKSを選択するだけです。DevOpsプロジェクトはAKSクラスタを作成し、Helm Chartsを使用して継続的な配信パイプラインを設定します。
DevOps ProjectsではAzure Service Fabricで実行される.NET Coreアプリケーションも対象にできます。これにより、完全なDevOpsパイプラインを含む新しいプロジェクトを始めるにあたり、VMのコントロールを保持するか、Webアプリケーションのシンプルさを維持するか、または大規模に最適化するかといった様々なオプションを提供しています。詳細については、AKSおよびService Fabricのチュートリアルのドキュメントを参照してください。
Azure SQL Databaseは、完全に管理されたリレーショナルクラウドデータベースで、新しい.NETアプリケーションを起動し、実行時にASP.NETを選択すると、DevOps Projectsを対象にできます。単にAdd databaseを選択するだけで、.NETアプリケーションにSQL Databaseを追加できます。DevOpsプロジェクトでは、サンプルとして継続的配信パイプラインを含む、二層アプリケーションが作成されます。詳細については、チュートリアルのドキュメントを参照してください。
Azure Stackのサポートはプライベートプレビューが終わり、現在一般提供を開始しています。Azure Stackは、ソフトウェアと検証済みのハードウェアの統合システムで、Azureのサービスと機能をオンプレミスにもたらします。クラウド、オンプレミス、またはハイブリッドアプリケーションを実行しているかどうかにかかわらず、すべての要素のビルド、デプロイ、およびテストを含む、より一貫性のあるDevOpsプロセスを使用できるようになりました。コードを変更する必要はありません。他の展開ターゲットと同じツールと機能を使用してAzure Stackに接続するだけです。プロジェクト管理設定またはビルドまたはリリース定義から新しいServiceを追加すると、AzureStackオプションがAzure Resource Manager Service Endpointの追加ダイアログのEnvironmentフィールドに表示されます。詳細は、Deploy apps to Azure Stackのドキュメントを参照してください。
Helm Tool Installer taskは、Helmの特定のバージョンをインターネットまたはツールキャッシュから取得し、エージェントのPATH(HostedもしくはPrivateのいずれか)に追加します。このタスクを使用して、.NET Core cliタスクなどの後続のタスクで使用されるHelmのバージョンを変更します。ビルドまたはリリース定義のHelm Deployタスクの前にこのタスクを追加すると、正しいHelmバージョンでアプリケーションをパッケージ化して配備できます。この作業は、オプションでHelmが動作するための前提条件であるkubectlツールのインストールにも役立ちます。
前回の更新で新しいパッケージ通知タイプをリリースしました。Notificationで新しい購読を設定することで、気になるパッケージやフィードに関するアップデートを入手できます。これで、すべてのパッケージに新しいFollowボタンを使って通知を設定することがさらに簡単になりました。Followボタンはリリースビューと互換性があるので、ビューを見ながらパッケージをフォローすると、そのビューに昇格された新しいバージョンのアップデートだけが表示されます。
前回の更新でリリースされた、新しいアップストリームソース機能を使用すると、フィードを通じて他のチームのフィードからNuGetとnpmパッケージを使用できるようになりました。みなさんからのフィードバックによると、現在のアクセス許可では、アップストリームからのパッケージを保存するためにはContributorになる必要があり、過剰な権限になる場合があると聞きました。
このアップデートでは、Collaboratorと呼ばれるパッケージ管理の新しいロールが導入されました。Collaboratorはアップストリームソースからパッケージを保存できますが、パッケージを直接フィードへパブリッシュはできません(たとえば、nuget push
を使用するといったことです)。これにより、エンジニアがアップストリームソースから新しいパッケージを使用できるようにしながら、パブリッシュを信頼するユーザーまたはビルドシステムに限定することができます。
フィード設定ページのやりとりのいくつかが改善されました。アップストリームやパーミッションの追加などの変更はすぐに保存されます。これは、設定のピボットを切り替えるときでも、変更が消えてしまったと心配する必要がないことを意味します。
重要!
この機能を使うためには、あなたのプロファイルもしくはアカウントのpreview featureからNew Test Plan Experienceを有効にする必要があります。
Test Planの新しいハブをご紹介します!このページから計画を追加、編集、削除できるだけでなく、チームやプロジェクト全体でプランを見つけたり、お気に入りのプランを見つけたりできます。Dashboards、Queries、Plansのエクスペリエンスを新しく開拓しています。これは、製品全体に一貫性を持たせるための新たなステップです。
壊れたページリンクは、ドキュメントソリューションのページ品質が低下する主な原因の1つです。以前のWikiでは、ツリー構造内のページを移動したり、ページの名前を変更したりすると、他のページや作業項目からページへのリンクが壊れる可能性がありました。今回の更新でリンクが壊れる前にリンクを確認および、修正ができます。
重要!
Wikiがこれらの潜在的に壊れたリンクを見つけて修正できるようにするには、ページ内のリンクには[]()
markdown構文を使用し、作業項目にはWiki pageリンクタイプを使用することを忘れないでください。この機能ではプレーンテキスト作業項目のURLとハイパーリンクは選択されません。
ページの名前を変更または移動すると、影響を受ける絶対または相対リンクを確認するよう求められます。
ページ移動等のアクションを実行する前に、影響を受けるページリンクと作業項目のリストが表示されます。
デモジェネレータを使用すると、ソースコード、作業項目、反復、サービスエンドポイント、選択したテンプレートに基づいた定義のビルドとリリースなど、サンプルコンテンツが事前入力されたVSTSアカウントでプロジェクトが開始できます。これらのプロジェクトは、ハンズオンラボ、デモ、およびその他の教材に従うために使用できます。
最新バージョンはシンプルなサインイン、拡張機能の自動インストール、新しいテンプレート、TFSのサポートを提供します。
Generatorの使用方法については、ドキュメントを参照してください。
これらの機能についてどう思っているかお聞きしたいと思います。フィードバックメニューを使用して、優先順位を付けたいと思っていることに関するアイデアがある場合は、問題を報告するか、提案をしてください。
アドバイスや回答が必要な質問がある場合、Stack Overflowコミュニティで聞いてください。
ありがとうございました。
Jamie Cool