はじめに
皆さん、はじめまして。
Qiitaデビューしましたので、よろしくお願いします。
最近、仕事でAzureを触る機会がありました。
躓いたらネットで検索するのですが、日本語の記事がほぼヒットせず、なかなかつらかったです。
(MS公式ドキュメントを読みながら試行錯誤するか、英語を読むか・・・)
個別具体的なトラブルとその解決策に関する記事はほぼ見つからない。
ないならば作ろうということで、自分が躓いた内容を記事にします。
同じ問題に当たったどなたかのお役にたてば幸い。
この記事で言いたいこと
前書きはこれくらいにして、本題に入ります。
この記事で言いたいことは次の通りです。
- Azure Pipelinesの無料枠を使うためには、MSへの手続きが必要(になった)!
ここ数年アジャイル開発とやらが注目を集めているそうで、
その関連(だと思う)で「GitLab CI」や「GitHub Actions」をはじめとする
継続的インテグレーション(CI)
および継続的デリバリー(CD)
関係のプロダクト/機能やノウハウが充実してきているように感じています。
今回取り上げるAzure Pipelines
はこのCI/CDを支援するツールの1つです。
このAzure Pipelines、無償利用枠があります。
が、とある時期(具体的には2021/3/23)以降に新規作成されたものについては
無償利用枠を使用するためにはMSに申請が必要なように変更されていました。
(ここで躓いた)
今回はAzure Pipelinesの無料枠の使い方について記事にします。
Azure Pipelinesに関する詳細はこのあたりのドキュメントを参照していただければ。
構築の流れ
ここから実際の構築の流れを躓いた部分とその対処も含めて順番に記載します。
Azure DevOpsの組織を作成する
Azure Pipelinesを使用するためには、前提としてAzure DevOps
の組織(GitLabでのグループに相当する)が必要です。
そのため、まずAzure DevOpsの組織を作成します。
サービス一覧からAzure DevOps organizations
を選択します。
Azure DevOpsの画面に遷移しますので、My Azure DevOps Organizations
を選択します。
名前と連絡先(メールアドレス)の入力を求められますので、入力します。
(こちらは作成する組織の管理者アカウントの情報となります。)
Azure DevOpsのプロジェクトを作成する
次にパイプラインを使用するリポジトリとして
Azure DevOpsのプロジェクト(GitLabのプロジェクトに相当する)を作成します。
なおリポジトリはAzure Repos以外にも、GitHub、Subversionなども使用可能なようです。
(パイプライン作成時の選択肢に出てきました。)
プロジェクト名
と公開範囲
(Public:インターネット上に公開、Private:プロジェクト関係者のみ)を設定し、Create Project
を押下します。
パイプラインを作成する
Azure Pipelinesを作成します。
左ペインからPipelines
を選択します。
パイプラインで使用するレポジトリを選択します。
(ここではAzure Reposを使用します。)
指定可能なリポジトリの一覧が表示されるので、先ほど作成したレポジトリfree-pipelines
を選択します。
パイプラインの具体的な動作を設定します。
今回は用意がないので、YAMLファイルを新規作成します。
ブラウザ上にエディターと初期テンプレートが表示されるので、
YAMLファイルを記載します。
ここではテンプレートそのままで進めるので、画面右上のSave and run
を押下します。
作成したYAMLファイルのpush方法(コミットメッセージとどのブランチにpushするか)を聞かれるので入力し、画面右下のSave and run
を押下します。
YAMLファイルがpushされ、テストランのジョブが登録されました。
エラーで躓く
「[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」
エラーの原因は冒頭に記載した通り、
無償利用枠を使用するにはMSに申請が必要であり、その申請を実施していないためです。
ちなみにこの変更が入ったのは2021/3/23とのことでした。
この変更の理由は無料付与のAzure Pipelines変更に記載されています。
端的にいうと「暗号化マイニングなどの不正利用が絶えないなので、許可制にしました」ということだそうです。
MSに無料枠を申請する
ということで指定されたURLにアクセスして、無償利用枠の付与を依頼します。
申請者の氏名
と連絡先メールアドレス
、無償利用枠付与を依頼するAzure DevOps組織のURL
を入力します。
今回だと作成した組織の名称はfree-pipelines
になるので、
URLはhttps://dev.azure.com/free-pipelines
になります。
プロジェクトの種別を選択します。
作成したAzure Reposはプライベートプロジェクトなのでprivate
を選択し、
最後に送信ボタンを押下します。
(おまけ)プロジェクト種別がPublicの場合
なお、プロジェクト種別でPublic
を指定した場合、
追加質問が表示されます。
Publicの場合は、さらに付与するリポジトリの一覧
とプロジェクトの概要
を回答する必要があるようです。不正利用対策ですかね。
テストランを再実行
まとめ
ということでまとめです。
ご参考になれば。
- 2021/3/23以降に作成した組織でAzure Pipelinesの無料枠を利用するには
MSに申請
が必要です- 未実施の場合、次のようなエラーでパイプラインの実行が失敗します。
- 「[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」
- 未実施の場合、次のようなエラーでパイプラインの実行が失敗します。
- 申請は
MS Forms
にて実施します。 - MSの承認が下りると、メールで連絡がきます。