2024年3月8日金曜日

Azure Devops の pipeline 機能を使ってみる

Azure Devops の pipeline 機能を使ってみる

概要

前回 Azure Devops にソースコードを push してみました
今回は Pipeline 機能を使ってみます

環境

  • Azure Devops (2024/03/07 時点)
  • macOS 11.7.10

ブランチ作成

一応ブランチを作成し Pull request 形式でパイプライン用のファイル azure-pipelines.yml を作成します

  • git checkout -b feature/pipeline

azure-pipelines.yml の作成

今回は単純なコマンドを実行するパイプラインを作成します

  • vim azure-pipelines.yml
trigger:
- master

pool:
  vmImage: "ubuntu-latest"

jobs:
- job: TestJob
  steps:
  - script: |
      echo "Hello, Azure Pipelines!"
      cat /etc/issue
      uname -a
    displayName: 'Run My Command'

vmImage

Gitlab で言うところの Runner が pool になります
pool には Microsoft がデフォルトで用意している pool と独自で用意可能な pool があります

今回はデフォルトで用意されている pool にある vmImage を使います
デフォルトで使用可能な vmImage はこちらにあります

また

  • Project Settings -> Agent pools でも現在有効なプール (エージェント) が確認できます

push してみる

  • git add .
  • git commit -m "Add azure-pipelines.yml"
  • git push -u azure feature/pipeline

Pull Request を作成しマージする

Repos -> Pull requests に移動し p-r を作成しましょう
ブランチの「Create a pull request」から作成すると簡単です

タイトル、概要、タグ、レビュアー、紐づけるアイテムを設定します
パイプラインや Approvers などは設定できないいようです

内容を確認して「Complete」でマージします (実際はレビューなどして問題なければマージします

パイプラインを実行する

現状だと自動で実行されないのでとりあえず手動で実行します
左メニューから Pipelines を選択し「Create Pipeline」を選択します

Azure Repos Git を選択します

実行するジョブ (test) を選択します

azure-pipelines.yml の内容が表示されます
あとは右上の Run をクリックすれば OK です

なおパイプラインが失敗するとメールで通知してくれます

[error]No hosted parallelism has been purchased or granted. To request a free parallelism grant, please fill out the following form https://aka.ms/azpipelines-parallelism-request

というエラーが出る場合があります
これは無料枠の pool を使うのには申請が必要なために出ます
https://aka.ms/azpipelines-parallelism-request ここから無料枠の pool を使う申請ができるので名前やメールアドレス、組織名を入力すれば簡単に申請することができます

最後に

Azure Devops の Pipeline 機能を試してみました
パイプラインの機能自体は YAML ファイルを一つ追加するだけなので簡単に使えます
パイプラインの記法や機能のリファレンスは参考リンクにあります

無料枠の pool を使うには申請が必要なのでとりあえず検証したいだけであれば申請すると良いかなと思います (申請がすべて通るのかは不明
あとは自分のマシンを pool として登録することもできるのでマシンリソースに余裕があるのであれば自分のマシンを登録するのもありかなと思います

次回はそのあたりのセルフホステッド pool のやり方なども紹介できればなと思います

参考サイト

0 件のコメント:

コメントを投稿