Bagikan melalui


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

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.

Fork kode sampel

Fork sampel repositori Python ke akun GitHub Anda.

  1. Buka repositori python-sample-vscode-flask-tutorial.
  2. Pilih Fork di sudut kanan atas halaman.
  3. 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

  1. Di proyek Azure DevOps Anda, pilih Alur>Buat Alur, lalu pilih GitHub sebagai lokasi kode sumber Anda.
  2. Pada layar Pilih repositori, pilih repositori sampel fork Anda.
  3. 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.

Cuplikan layar tautan artefak build yang diterbitkan.

Halaman Artefak menunjukkan artefak build yang diterbitkan. Cuplikan layar artefak build yang diterbitkan.

Cuplikan layar pekerjaan Python yang telah selesai.

Halaman Artefak menunjukkan artefak build yang diterbitkan. Cuplikan layar tautan artefak build yang diterbitkan.

Untuk melihat hasil pengujian, pilih tab Pengujian .

Cuplikan layar hasil pengujian alur.

Pilih Jalankan.

Nomor build ditampilkan di bagian atas halaman. Pilih nomor build untuk melihat detail build.

Cuplikan layar tautan build alur.

Tab Ringkasan memperlihatkan status eksekusi alur Anda.

Untuk mengunduh artefak build Anda, pilih tautan drop dari bagian Build artefak yang diterbitkan .

Cuplikan layar pekerjaan Python yang telah selesai.

Untuk melihat hasil pengujian, pilih tab Pengujian .

Cuplikan layar hasil pengujian alur.

Penghapusan

Setelah menyelesaikan mulai cepat ini, Anda dapat menghapus proyek Azure DevOps yang Anda buat.

  1. Di proyek Anda, pilih ikon Gigi pengaturan Proyek di sudut kiri bawah halaman.
  2. Di bagian bawah halaman Ringkasan proyek, pilih Hapus.
  3. 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).

Langkah berikutnya