目次
- Azure Repos にSphinx ドキュメント を用意する
- Azure App Service を作成する
- Azure DevOps と Azure Subscription を接続する
- Azure Pipelines で html を生成して、Azure App Serviceへデプロイする
- トラブルシューティング
手順
1. Azure Repos にSphinx ドキュメント を用意する
- Azure Repos に SphinxをインストールしているPythonモジュール を格納する。
a. ここでは例としてDjangoをimportして使用する。
2. Azure App Service を作成する
-
各項目を入力する。命名はMicrosoftのベストプラクティスに従う。
今回使用した省略形↓↓リソース 省略形 Resource group rg App Service プラン asp Web アプリ app 東日本 jpe ※GeoCodeはここに記載
3. Azure DevOps と Azure Subscriptionを接続する
- Project settings -> Service connections -> Create service connection -> Azure Resource Manager
- Workload Identity federation (automatic)
- ポップアップ画面が表示されるので、Azure Subscriptionに紐づくアカウントで認証する。※表示されないとき
- Resource groupは空欄のままにし、Service connection name を入力し、Grant access permission to all pipelines にチェックを入れSaveする
4. Azure Pipelines で html を生成して、Azure App Serviceへデプロイする
- Pipelines -> Create Pipeline -> Azure Repos Git -> study -> Starter pipline -> Show assistant -> Azure App Service deploy
- 前の手順で作成したApp Serviceを選択する
- ymlを書き換えて、Save and Run ※エラーが出たとき
trigger:
- main
pool:
vmImage: windows-latest
steps:
- script: |
pip install Sphinx
cd django/docs/
make html
displayName: 'Make html'
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: 'django/docs/'
includeRootFolder: false
archiveType: 'zip'
archiveFile: '$(System.DefaultWorkingDirectory)/$(Build.BuildId).zip'
replaceExistingArchive: true
- task: AzureRmWebAppDeployment@4
inputs:
ConnectionType: 'AzureRM'
azureSubscription: 'Azure subscription 1 connection'
appType: 'webApp'
WebAppName: 'app-study-prod-jep-001'
packageForLinux: '$(System.DefaultWorkingDirectory)/*.zip'
5.トラブルシューティング
表示されないとき
ポップアップ表示されなけばWebブラウザのアドレスバーにあるポップアップブロック表示をクリックし、ブロックを解除して表示させる。何らかのResource group名が表示されれば認証済みである。(このとき未認証状態だと空欄のままとなる)
エラーが出たとき
下記のエラーが出たら、メッセージに記載のURLから無料利用をリクエストする。(マイニング利用防止のために制限がかかっている。)
##[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