Python アプリをビルドする
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure Pipelines を使用して、CI/CD システムの一部として Python アプリとスクリプトをビルド、テスト、デプロイできます。
このクイック スタートでは、Python アプリをビルドしてテストするパイプラインを作成する方法について説明します。
Python プロジェクトをビルドするために Azure Pipelines を設定する必要はありません。 Python は、Linux、macOS、または Windows 用の Microsoft でホストされるビルド エージェントにプレインストールされています。 プレインストールされている Python バージョンを確認するには、Microsoft ホステッド エージェントの使用に関するページを参照してください。
前提条件
- リポジトリを作成できる GitHub アカウント。 無料で作成できます。
- Azure DevOps 組織。 無料で作成できます。
- Azure DevOps プロジェクト。 Azure DevOps プロジェクト作成ウィザードを使用して作成します。
- Microsoft によってホストされるエージェントでパイプラインを実行する機能。 並列ジョブを購入するか、Free レベルを要求できます。
- リポジトリを作成できる GitHub アカウント。 無料で作成できます。
- Azure DevOps Server。
- Azure DevOps プロジェクト。 Azure DevOps Server プロジェクト作成ウィザードを使用して作成します。
- セルフホステッド エージェント。 作成する方法については、「セルフホステッド エージェント」を参照してください。
- セルフホステッド エージェントにインストールされた Python バージョン。 エージェントに Python をインストールする方法については、「UsePythonVersion」を参照してください。
1. サンプル コードをフォークする
サンプル Python リポジトリを GitHub アカウントにフォークします。
- python-sample-vscode-flask-tutorial リポジトリに移動します。
- ページの右上隅にある [Fork] を選択します。
- リポジトリをフォークする GitHub アカウントを選択し、フォークされるリポジトリの名前を入力します。
2. パイプラインを作成する
[Azure Pipelines] に移動し、[無料で開始する] を選択します。 メッセージが表示されたら、DevOps アカウントにサインインします。
プロジェクトに移動し、[パイプライン]>[パイプラインの作成] を選択します。
ソース コードの場所として [GitHub] を選択します。
サインインするために GitHub にリダイレクトされた場合は、GitHub の資格情報を入力します。
リポジトリの一覧が表示されたら、フォークされたサンプル リポジトリを選択します。
[パイプラインを構成する] タブで、[スタート パイプライン] を選択します。
ブラウザーで、DevOps Server コレクションにアクセスします。
プロジェクトに移動し、[パイプライン]>[新しいパイプラインの作成] の順に選択します。
ソース コードの場所として [GitHub Enterprise Server] を選択します。
サインインするために GitHub にリダイレクトされた場合は、GitHub の資格情報を入力します。
リポジトリの一覧が表示されたら、フォークされたサンプル リポジトリを選択します。
[パイプラインを構成する] タブで、[スタート パイプライン] を選択します。
3. パイプラインをカスタマイズする
生成された azure-pipelines.yml の内容を、以下のコードに置き換えます。 このコードは、必要な Python バージョンと依存関係をインストールし、Python パッケージをパイプラインに発行された zip ファイルにパッケージ化し、テストを実行します。
trigger:
- main
pool:
vmImage: ubuntu-latest
strategy:
matrix:
Python310:
python.version: '3.10'
Python311:
python.version: '3.11'
Python312:
python.version: '3.12'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '$(python.version)'
displayName: 'Use Python $(python.version)'
- script: |
python -m pip install --upgrade pip
pip install -r requirements.txt
displayName: 'Install dependencies'
- task: ArchiveFiles@2
displayName: 'Archive files'
inputs:
rootFolderOrFile: $(System.DefaultWorkingDirectory)
includeRootFolder: false
archiveType: zip
archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId)-$(python.version).zip
replaceExistingArchive: true
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
- script: |
pip install pytest pytest-azurepipelines
pytest
displayName: 'pytest'
プロジェクトの構成に合わせて、azure-pipelines.yml
をカスタマイズします。
- 生成された YAML を以下のコードに置き換えます。 このコードは、必要な Python バージョンと依存関係をインストールし、Python パッケージをパイプラインに発行された zip ファイルにパッケージ化し、テストを実行します。
- 別のエージェント プールがある場合は、プールの
name
パラメーターを変更します。 - セルフホステッド エージェントにインストールされたバージョンと一致するように、Python のバージョンを変更します。
trigger:
- main
pool:
name: '<your-pool-name or default>'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.12'
displayName: 'Use Python 3.12'
- script: |
python -m pip install --upgrade pip
pip install -r requirements.txt
displayName: 'Install dependencies'
- task: ArchiveFiles@2
displayName: 'Archive files'
inputs:
rootFolderOrFile: $(System.DefaultWorkingDirectory)
includeRootFolder: false
archiveType: zip
archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
replaceExistingArchive: true
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
- script: |
pip install pytest pytest-azurepipelines
pytest
displayName: 'pytest'
4. パイプラインを実行する
パイプラインを保存し、実行します。
- [保存して実行] を選択します。
- [保存および実行] ダイアログで、[保存および実行] を選択します。
- [概要] タブから、パイプライン実行の状態を確認できます。
- [実行] を選択します。
- ページの上部に、ビルド番号が表示されます。 ビルド番号を選択して、ビルドの詳細を表示します。
ビルド成果物を表示するには、 [概要] タブの [発行済み] リンクを選択します。
[成果物] ページに、発行されたビルド成果物が表示されます。
テスト結果を表示するには、[テスト] タブを選択します。
[概要] タブに、パイプライン実行の状態が表示されます。
ビルド成果物を表示するには、[概要] タブで [発行済み] リンクを選択します。
テスト結果を表示するには、[テスト] タブを選択します。
[概要] タブに、パイプライン実行の状態が表示されます。
ビルド成果物をダウンロードするには、[公開されたビルド成果物] セクションから [ドロップ] リンクを選択します。
テスト結果を表示するには、[テスト] タブを選択します。
クリーンアップ
このクイック スタートを完了したら、Azure DevOps で作成したプロジェクトを削除できます。
- ページの左下の隅にある [プロジェクトの設定] 歯車アイコンを選択します。
- [プロジェクトの概要] ページの下部にある [削除] を選択します。
- プロジェクト名を入力し、[削除] を選択します。
おめでとうございます。このクイック スタートを正常に完了しました。
次のステップ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示