Membuat dan menerbitkan aplikasi Python
Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019
Dalam mulai cepat ini, Anda membuat alur yang membangun dan menguji aplikasi Python. Anda melihat cara menggunakan Azure Pipelines untuk membangun, menguji, dan menyebarkan aplikasi dan skrip Python sebagai bagian dari sistem integrasi berkelanjutan dan pengiriman berkelanjutan (CI/CD).
Prasyarat
- Akun GitHub tempat Anda dapat membuat repositori. Buat akun GitHub secara gratis.
- Organisasi Azure DevOps. Buat akun gratis.
- Proyek Azure DevOps. Buat menggunakan Wizard Pembuatan Proyek Azure DevOps.
- Kemampuan untuk menjalankan alur pada agen yang dihosting Microsoft. Anda perlu meminta pemberian gratis pekerjaan paralel atau membeli pekerjaan paralel.
Python telah diinstal sebelumnya pada agen yang dihosting Microsoft untuk Linux, macOS, dan Windows. Anda tidak perlu menyiapkan apa pun lagi untuk membangun proyek Python. Untuk melihat versi Python mana yang telah diinstal sebelumnya, lihat Menggunakan agen yang dihosting Microsoft.
- Akun GitHub tempat Anda dapat membuat repositori. Buat akun GitHub secara gratis.
- Organisasi Azure DevOps. Buat akun gratis.
- Proyek Azure DevOps. Buat menggunakan Wizard Pembuatan Proyek Azure DevOps.
- Agen yang dihost sendiri. Untuk membuatnya, lihat Agen yang dihost sendiri.
- Python diinstal pada agen yang dihost sendiri. Untuk menginstal Python di agen Anda, lihat UsePythonVersion.
Fork kode sampel
Fork sampel repositori Python ke akun GitHub Anda.
- Buka repositori python-sample-vscode-flask-tutorial.
- Pilih Fork di sudut kanan atas halaman.
- Pilih akun GitHub Anda. Secara default, fork diberi nama yang sama dengan repositori induk, tetapi Anda dapat menamainya sesuatu yang berbeda.
Penting
Selama prosedur berikut, Anda mungkin diminta untuk membuat koneksi layanan GitHub atau dialihkan ke GitHub untuk masuk, menginstal Azure Pipelines, atau mengotorisasi Azure Pipelines. Ikuti instruksi di layar untuk menyelesaikan proses. Untuk informasi selengkapnya, lihat Akses ke repositori GitHub.
Membangun alur Anda
- Di proyek Azure DevOps Anda, pilih Alur>Buat Alur, lalu pilih GitHub sebagai lokasi kode sumber Anda.
- Pada layar Pilih repositori, pilih repositori sampel fork Anda.
- Pada layar Konfigurasikan alur Anda, pilih Alur pemula.
Mengkustomisasi alur Anda
Pada layar Tinjau YAML alur Anda, ganti konten file azure-pipelines.yml yang dihasilkan dengan kode berikut. Kode:
- Menginstal versi dan dependensi Python yang diperlukan.
- Paket membangun artefak ke arsip ZIP.
- Menerbitkan arsip ke alur Anda.
- Menjalankan pengujian.
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'
Sesuaikan azure-pipelines.yml agar sesuai dengan konfigurasi proyek Anda.
- Jika Anda memiliki kumpulan agen yang berbeda, ubah parameter kumpulan
name
. - Jika perlu, ubah versi Python ke versi yang diinstal pada agen yang dihost sendiri.
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'
Menjalankan alur Anda
Pilih Simpan dan jalankan, lalu pilih Simpan dan jalankan lagi.
Tab Ringkasan memperlihatkan status eksekusi alur Anda.
Untuk melihat artefak build Anda, pilih tautan yang diterbitkan di tab Ringkasan.
Halaman Artefak menunjukkan artefak build yang diterbitkan.
Halaman Artefak menunjukkan artefak build yang diterbitkan.
Untuk melihat hasil pengujian, pilih tab Pengujian .
Pilih Jalankan.
Nomor build ditampilkan di bagian atas halaman. Pilih nomor build untuk melihat detail build.
Tab Ringkasan memperlihatkan status eksekusi alur Anda.
Untuk mengunduh artefak build Anda, pilih tautan drop dari bagian Build artefak yang diterbitkan .
Untuk melihat hasil pengujian, pilih tab Pengujian .
Penghapusan
Setelah menyelesaikan mulai cepat ini, Anda dapat menghapus proyek Azure DevOps yang Anda buat.
- Di proyek Anda, pilih ikon Gigi pengaturan Proyek di sudut kiri bawah halaman.
- Di bagian bawah halaman Ringkasan proyek, pilih Hapus.
- Masukkan nama proyek dan pilih Hapus.
Selamat, Anda berhasil membuat dan menjalankan alur yang membangun dan menguji aplikasi Python. Sekarang Anda dapat menggunakan Azure Pipelines untuk membangun, menguji, dan menyebarkan aplikasi dan skrip Python sebagai bagian dari sistem integrasi berkelanjutan dan pengiriman berkelanjutan (CI/CD).