Azure DevOpsのSprint 148 Updateでは、コマンドラインを使用してAzure DevOpsサービスと対話できる新しいAzure DevOpsコマンドラインインターフェイス(CLI)拡張機能を追加しました。
さらに、Windows、Linux、およびコンテナー用のWebアプリケーションをAzureに簡単にデプロイできるようにするため、Azure Deployment Centerに新しいオプションを追加しました。Azure Pipelinesを使用して、これらのリソースをローカルのGitリポジトリからAzureにデプロイできます。Kubernetesの認証プロセスを容易にするため、サービス接続で新しいAzureサブスクリプションオプションもリリースしています。
詳細については、以下の機能リストをご覧ください。
General:
Azure Boards:
Azure Pipelines:
- ローカルGitで管理されているWebアプリケーションをAzureのWindows, Linux,コンテナーへデプロイする
- Kubernatesサービス接続で新しいAzureサブスクリプションのオプションを追加
- リリース作成要求が失敗したときに通知する
- Slack用Azure Pipelinesアプリケーション
- commit時継続的インテグレーション(CI)をスキップする
- Microsoftがホストするパイプラインイメージの更新
- リリース作成ダイアログの変数に貢献ポイントを追加
- DevOpsプロジェクトでPython Functionアプリサポートを追加
- ソースか、パイプラインのスケジュールリリース
- ビルドとリリースログビューアの強化
- Azure Service Busセッションキューへの発行
- リリース定義が含まれるフォルダを検索する
- テスト結果の簡単な発行
- パイプラインエージェント用Azure Active Directoryデバイスコード認証フロー
- Red Hat Enterprise Linux 6のサポート
Azure Artifacts:
Wiki:
Azure CLI用のAzure DevOps拡張のパブリックプレビューが発表されました。この拡張機能はプラットフォームを超えて利用でき、コマンドラインからAzure DevOpsを体験できるため、Azure DevOpsを管理する機能がすぐに利用できます。GUIフローを気にせず、合理化されたタスク/コマンド指向の方法で作業できるので、対話が柔軟かつ高速になります。
サポートされているコマンドの詳細については、こちらのドキュメントをご覧ください。
新機能や改善点についてのご提案がありましたら、Azure DevOps Extension for Azure CLIレポジトリへのご意見をお待ちしています。PRで語り合いましょう。
12月にAzure BoardsとGitHubの統合の始まりを発表しました。この統合を使用してリンクを確立する1つの方法は、AB#{work item ID}
構文を使用してpull requestの記述内に作業項目を記述します。今回の更新で、これらの言及は、あなたやあなたのプロジェクトの他の人がクリックして、メンションされた作業項目に直接移動できるハイパーリンクとなります。
今回の更新で、AzureのDeployment Centerワークフローにいくつかの機能強化が追加されました。Azure Pipelinesを使用して、ローカルGitリポジトリからこれらのAzureリソースに、Windows、Linux、およびコンテナーー用のWebアプリを展開できます。Deployment CenterでAzure Pipelineを作成すると、コードのコミットごとに、Azure Pipelineがローカルリポジトリに対してトリガーされます。
ビルドおよびリリース用のサービス接続を使用すると、外部またはリモートのサービスに接続して、ビルドまたは配置のためのタスクを実行できます。プロジェクトの管理者設定からサービス接続を定義および管理できます。
今回の更新で、Kubernetesサービス接続フォームに認証オプションが追加されました。今回の更新からAzure Subscriptionを選択して接続を認証できます。これにより、Azureサブスクリプションとクラスター名を使用してKubernetes接続を設定することで、特定の名前空間に簡単に展開できます。
ロールベースのアクセス制御(RBAC)対応クラスターの場合、ServiceAccountオブジェクトとRoleBindingオブジェクトは選択した名前空間に作成されます。 RoleBindingオブジェクトは、作成されたサービスアカウントの操作を選択されたネームスペースにのみ制限します。RBACが無効なクラスタの場合、作成されたサービスアカウントには、ネームスペースを超えたクラスタ全体のアクセス許可があります。
ビルド、コードベース、およびその他の操作に変更が発生したときにEメールを受信するように通知を設定できます。たとえば、作業項目が自分に割り当てられたときに通知を受け取るようにアラートを設定できます。
このアップデートでは、リリースカテゴリに新しい通知サブスクリプションを追加しました。この通知は、Releaseの作成要求が失敗したときにあなたにEメールを送ります。これが役立つ可能性があるシナリオの例としては、成果物バージョンが利用できないためにリリースの作成要求が失敗した場合があります。通知を管理する方法については、こちらのドキュメントを参照してください。
Azure PipelinesとSlackのユーザーはSlack用Azure Pipelinesアプリを使用して簡単に自分のパイプラインを監視できるようになりました。アプリから完成したビルド、リリース、保留中の承認などの購読を設定して管理ができ、Slackチャンネルでこれらのイベントの通知を受け取れます。
完全な発表と指示はここで見てください。
以前は、Azure Pipeline GitHubアプリを使用しているときに[skip ci]
を使用してビルドをスキップできませんでした。今回の更新で、Azure Pipelinesにコミットを無視し、コミットが通常トリガーするパイプラインの実行をスキップするように指示できます。HEADコミットのコミットメッセージに[skip ci]
を含めるだけで、Azure PipelinesはCIをスキップします。下記のバリエーションの使用もできます。これは、Azure Repos Git、Bitbucket Cloud、GitHub、およびGitHub Enterprise Serverへのコミットでサポートされています。
[skip ci]
or[ci skip]
skip-checks: true
orskip-checks:true
[skip azurepipelines]
or[azurepipelines skip]
[skip azpipelines]
or[azpipelines skip]
[skip azp]
or[azp skip]
***NO_CI***
Hosted Pipelinesで使用できる新しいVMイメージが追加されたことをお知らせします。このイメージはWindows Server 2019に基づいており、インストールされているVisual Studio 2019プレビューが付属しています。また、Visual Studio 2017のイメージからツールの大部分を引き継ぎます。
また、Azure Pipelinesがホストするイメージも更新しました。このアップデートの一環として、次のイメージが変更されました。
- VS2017
- Ubuntu 16.04
- Windows Container 1803
GitHubのこちらを参照してください。
以前は、リリースの作成中に必要な変数の値は、ユーザーが何の支援も提案もなしに入力する必要がありました。リリースの作成中に変数の値を入力するのに役立つ拡張機能をサポートするために、Create New Release作成ダイアログに貢献ポイントを追加しました。
Azure DevOpsプロジェクトは、Azureでアプリケーションの実行を開始するための簡単な方法を提供します。これまでは、Pythonアプリケーション用のサービスを追加するときに、Windows Webアプリケーションまたはコンテナー用Webアプリケーションを作成することしかできませんでした。今回のアップデートで、関数アプリのサポートを追加しました。これにより、AzureでPython Function Appを開発、展開、および監視するための柔軟性が得られます。
以前は、スケジュールされたリリーストリガーがあると、上流の成果物またはリリース定義に変更が検出されなくてもリリースがトリガーされていました。成果物バージョンまたはリリース定義が変更された場合にのみリリースをスケジュールするためのオプションが、Release release triggerパネルに追加されました。
私たちはビルドとリリースのためのログビューアの機能強化を展開しています。今回のアップデートでは、以下の変更が加えられています。
- ログのすべての行にタイムスタンプを表示しなくなったので、ログを簡単に解析できるようになります。
- ANSIカラーコードと特殊文字のサポートが向上しました。
Agentless jobビルドタスクを拡張して、メッセージをセッションキューに発行する機能を追加しました。このオプションは、Publish to Azure Service Busタスクに追加されました。
リリース定義をフォルダに保存して整理できます。以前は、フォルダを検索できませんでした。多数のフォルダを作成した場合、特定のリリース定義を見つけるのは困難でした。これで、リリース定義内のフォルダ名で検索できるようになり、探している定義を見つけやすくなりました。
ビルド操作中に生成されたエラーログを解析し、テスト失敗の兆候をチェックすることで、テスト結果のパイプラインへの公開を簡素化しました。今回の更新で、追加設定なしでAzure DevOpsのテストレポートの使用を開始できます。デフォルトでは、あなたのパイプラインは少数の人気のあるテストランナーのためにテスト出力を推論します。
現在、次の言語とテストランナーがサポートされています。
- Javascript - Mocha
- Javascript - Jest
- Javascript - Jasmine
- Python - Unittest
注意事項
テストレポートはフルテストレポートとInsightsエクスペリエンスのプレビュー機能です。現時点において、これらの機能はサポートされていません。
- テスト失敗を新しいバグに関連付けるか、失敗に関連付けられている作業項目のリストの参照。
- テストファイル、所有者、優先度などによってテスト結果をグループ化する。
- テスト結果を検索してフィルタリングする。
- テストの実行中に生成された添付ファイルをWeb UIでプレビューする。
テスト結果の分析の詳細については、こちらのドキュメントを参照してください。
パイプラインエージェントにAzure Active Directory Device Code Flowのサポートを追加しました。以前は、PATを1回限りの設定に手動で設定する必要がありました。今回の強化で、Webブラウザを使ってPATを簡単に作成できます。エージェント設定スクリプトを実行するときに、認証タイプとして「AAD」と入力します。このスクリプトは、Web上のどこに行くべきか、どのコードを入力するかなど、次のステップを案内します。
今回のアップデートで、Red Hat Enterprise Linux 6のエージェントサポートが追加されました。これで、ビルドおよびリリースジョブの実行用にRed Hat Enterprise Linux 6プラットフォームをターゲットとするエージェントを設定できるようになりました。
これまで、PipelinesリリースのAzure ArtifactsタイプではNuGetパッケージのみがサポートされていました。このアップデートでは、すべてのAzure Artifactsパッケージタイプ(Maven、npm、Python、およびUniversal)がサポートされるようになります。
以前は、Azure Artifactsタイプは、新しいパッケージバージョンがフィードに発行されたときにのみトリガーできました。これで、ビューのサポートも追加されたため、すでにフィードに含まれているパッケージがビューに昇格したときにリリースをトリガーできます。
これまで、Azure Artifactsフィードは、「パッケージあたりの最大バージョン数」に達すると古いパッケージバージョンの削除を開始する基本的な保存ポリシーを提供していました。今回のアップデートでは、このクリーンアップを行う際に最近ダウンロードしたパッケージをスキップする機能を追加しました。有効にするには、フィードを編集してSkip packages downloaded recentlyをオンにします。
Wikiページでユーザーとグループを@メンションできます。これにより、チームの連絡先ページ、ガイダンス文書、およびナレッジ文書などの文書がよりリッチになります。下の画像は、タスクと責任者を含むスプリントの振り返りを示す例です。
また、ウィキ編集ページで「@」と入力して、自動提案からユーザーまたはグループの選択ができます。言及された人はまたメールで通知を受けるでしょう。
最後に、@メンションされたユーザーをクリックしてプロフィール情報カードも見えます。この機能は、この機能の提案に基づいて優先順位が付けられています。
注意事項
ここで議論されている機能は今後二~三週にわたって順次展開されます。
これらの新機能を読んだ後、次のリンクからぜひご自身でAzure DevOpsサービスを体験してみてください。
これらの機能についてどう思っているかお聞きしたいと思います。 フィードバックメニューを使用して問題を報告するか、提案を提出してください。
アドバイスや回答を必要とする質問がある場合、Stack Overflowコミュニティで聞いてください。
ありがとうございました。
Gopinath Chigakkagari (Twitter)