Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Azure DevOps Demo Generator で YAML Pipeline を使ってみる

More than 1 year has passed since last update.

今回は Microsoft が公開している Azure DevOps Demo Generoter を使用して、YAML Pipeline を試してみます。Azure DevOps の Demo Generater のサンプルコード は以下のページからダウンロードすることが可能です。
Get started using the Demo Generator V2 now
この記事では、コードのクローンと、YAML の簡単な部分を変更してみて実際にビルドが成功するか否かを試してみたいと思います。

準備 : Code の Clone から VS との Git まで

まずは上述の Code Generator からサンプルをダウンロードします。方法は非常に簡単で、ローカルにコードを明示的にダウンロードする必要はなく、Demo Generator のページから自分の DevOps プロジェクトを選択してテンプレートを選択するのみです。
image.png

今回のデモでは、「Parts Unlimited」のテンプレートを使用して、あらかじめ作成した「komiyasaVal」というプロジェクトにクローンします。
image.png

数分でテンプレートのクローンが終了するので、次はクローンしたコードを自身のローカル環境にクローンしてみます。プロジェクトの Repos メニューに行くと右上に「Clone」ボタンがあるのでそれを押してみましょう。デフォルトで Clone to VS Code となっていると思いますがこれだと VS Code にクローンしてしまうので、メニューから Clone to Visual Studio を選択します。
image.png

しばらくするとVisual Studio 側に Azure DevOps の Repo の中に入っているものがクローンされます。これで準備は完了です。
image.png

YAML Pipeline を使用してビルドをする

まずは Azure DevOps の Pipeline から新しい Pipeline を作成します。オプションは Azure Git repos を選択します。最初はデフォルトのまま進みましょう。いくつか進むと、YAML のオプションを選択するページにたどり着きます。ここが今回の記事の肝です。
YAML では ビルドのオプションを細かく指定することが可能です。例えば Trigger を設定したり、Pool を指定したりすることができます。今回のビルドでは、Pool を VS 2017 環境で実施すると仮置きし、以下のコードを追加します。

pool:
  name: Hosted VS2017
  demands:
  - msbuild
  - visualstudio
  - vstest

image.png

これで一回 Save をします。すると自動的にビルドが走ります。最初のビルドは特に時間がかかりますが、5分くらいでビルドは終了します。正常に成功すると、ビルドの内容が、TESTS タブから確認することが出来ます。
image.png

次は、YAML を色々いじってみます。再び Pipeline に戻ると左側のメニューから Tasks を追加するとができるようになっています。今回は試行として「Publish Build Artifacts」を追加します。これを追加することによって、ビルドのタスクを一つ追加することが出来ます。
image.png

実際にビルドされた内容を見てみると、先ほど追加した Tasks が追加されていることが分かります。
image.png

YAML を使用することで、DevOps のデプロイオプションを簡単に指定することの他、Container との連携や、デプロイする環境の指定もできるため非常に便利です。デプロイオプションを YAML で管理するという習慣をつけておくことで、様々なアプリケーションを一括の環境で一貫して管理することもできるのでとても便利ですね!色々な用途があると思いました。

参考

About the Azure DevOps Services Demo Generator
https://docs.microsoft.com/en-us/azure/devops/demo-gen/?view=azure-devops

Visual Studio Test task
https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/test/vstest?view=azure-devops

Publish Test Results task
https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/test/publish-test-results?view=azure-devops&tabs=yaml

Get started creating and populating demo Azure DevOps Services projects
https://docs.microsoft.com/en-us/azure/devops/demo-gen/use-demo-generator-v2?view=azure-devops

komiyasa
マイクロソフトでエンジニアをしています。Everybody needs a hobby!! 記事の内容はすべて個人的見解です。
microsoft
マイクロソフトのメンバーが最新の技術情報をお届けします。Twitterアカウント(@msdevjp)やYouTubeチャンネル「クラウドデベロッパーちゃんねる」も運用中です。
https://azure.microsoft.com/ja-jp/developer/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away