- Published on
Headstart デモ環境を構築する - Part 9 Azure DevOps と GitHub 連携
- Authors
- Name
- Shinichi Haramizu
- @haramizu
ミドルウェアが起動して初期データの設定ができました。続いて、EC サイトのストアフロントとなる buyer および EC サイトの管理画面となる seller のサイトをローカルで起動していきます。
連携前の作業として
azure-pipelines.yml
のファイルの zipAfterPublish
を true に変更
- task: DotNetCoreCLI@2
displayName: Publish Middleware
inputs:
command: publish
publishWebProjects: false
projects: "**/Headstart.API.csproj"
arguments: --configuration Release --output middleware
zipAfterPublish: true
version.yml
にある middlewaer
の URL を変更する
steps:
- task: PowerShell@2
displayName: Get Build Number
inputs:
targetType: inline
script: >-
try {
# call out to hosted endpoint to get the current version and add one for this build
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$response = Invoke-RestMethod -Uri "https://headstartdemo-middleware.azurewebsites.net/env"
$newversion = [int]$response.BuildNumber.Split(".")[2] + 1
Write-Host "##vso[build.updatebuildnumber]1.0.$newversion.$(Build.BuildId)"
} catch {
$newversion = 1
Write-Host "##vso[build.updatebuildnumber]1.0.$newversion.$(Build.BuildId)"
}
プロジェクトの作成
Azure DevOps にログインをします。
実際に作業をするためのプロジェクトを追加するべく、New Project を作成( Headstart Test ) を今回は作成しました。
パイプラインの作成
左側のメニューで Pipelines - Pipelines を選択、右側に出てくる Create pipeline のボタンをクリック
連携するコードは今回は GitHub になるため、GitHub を選択します。
今回はリポジトリの名前として設定している headstart-demo を選択します。
リポジトリの設定の際には、権限設定の画面で権限を許可する必要があります。対象のリポジトリを選択して、Approve and Install をクリックしてください。
azure-pipelines.yml が読み込まれているのを確認して、右上にある Run ボタンの右側の下矢印を利用して保存する。
完了すると以下の画面になります。
画面の中央に表示されている Run Pipeline をクリックします。
今回は main のブランチを対象としてビルドを実行するので、表示された画面のまま進めます。問題なく動作するようになった場合、パイプラインの実行に関しては 10 分ちょっとで完了します。
注意: ここで、以下のようなエラーが表示される場合があります。
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
これは Azure DevOps の設定が不足しているためです。指定された URL をクリックするとフォームが表示されて、リクエストをすると、私の場合は 3 日で設定が完了して利用できるようになりました。
まとめ
今回のパイプラインに関しての処理ですが、全てを動画として YouTube にアップロードしてみました。
次回はビルドが成功した次のステップとしてリリースを作成して、Azure のインスタンスに対して展開していく手順を紹介します。