Aracılığıyla paylaş


Python uygulaması oluşturma ve yayımlama

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Bu hızlı başlangıçta, bir Python uygulamasını derleyen ve test eden bir işlem hattı oluşturacaksınız. Sürekli tümleştirme ve sürekli teslim (CI/CD) sisteminizin bir parçası olarak Python uygulamaları ve betikleri derlemek, test etmek ve dağıtmak için Azure Pipelines'ın nasıl kullanılacağını görürsünüz.

Önkoşullar

Ürün Gereksinimler
Azure DevOps - Azure DevOps projesi.
- Microsoft tarafından barındırılan ajanlarda pipeline'ları çalıştırma yeteneği. Paralel bir iş satın alabilir veya ücretsiz katman isteyebilirsiniz.
- YAML ve Azure Pipelines hakkında temel bilgiler. Daha fazla bilgi için bkz. İlk işlem hattınızı oluşturma.
- İzinler:
     - Bir boru hattı oluşturmak için Katkıda Bulunanlar grubunda olmanız ve grubun Boru hattı oluşturma izninin İzin Ver olarak ayarlanması gerekir. Proje Yöneticileri grubunun üyeleri işlem hatlarını yönetebilir.
    - Hizmet bağlantıları oluşturmak için:hizmet bağlantıları için Yönetici veya Oluşturucu rolüne sahip olmanız gerekir.
GitHub - GitHub hesabı.
- Azure Pipelines'ı yetkilendirmek için bir GitHub hizmet bağlantısı .
Azure Bir Azure aboneliği.
Ürün Gereksinimler
Azure DevOps - Azure DevOps projesi.
- Kendi sunucusunda barındırılan bir aracı. Bir tane oluşturmak için bkz. Öz barındırılan aracılar.
- YAML ve Azure Pipelines hakkında temel bilgiler. Daha fazla bilgi için bkz. İlk işlem hattınızı oluşturma.
- İzinler:
    - Bir işlem hattı oluşturmak için Katkıda Bulunanlar grubunda yer almanız ve grubun Derleme hattı oluşturma izinlerini İzin Ver olarak ayarlaması gerekir. Proje Yöneticileri grubunun üyeleri işlem hatlarını yönetebilir.
    - Hizmet bağlantıları oluşturmak için:hizmet bağlantıları için Yönetici veya Oluşturucu rolüne sahip olmanız gerekir.
GitHub - GitHub hesabı.
- Azure Pipelines'ı yetkilendirmek için bir GitHub hizmet bağlantısı .
Azure Bir Azure aboneliği.

Python, Linux, macOS ve Windows için Microsoft tarafından barındırılan aracılara önceden yüklenmiştir. Python projeleri oluşturmak için başka bir şey ayarlamanız gerekmez. Hangi Python sürümlerinin önceden yüklendiğini görmek için bkz. Microsoft tarafından barındırılan aracı kullanma.

Örnek kodu kopyalayın ve üzerinde çalışın

Örnek Python deposunu GitHub hesabınıza fork edin.

  1. python-sample-vscode-flask-tutorial deposuna gidin.
  2. Sayfanın sağ üst köşesindeki Çatal'ı seçin.
  3. GitHub hesabınızı seçin. Varsayılan olarak, depo çatalı ana depoyla aynı adla adlandırılır, ancak ona farklı bir ad verebilirsiniz.

Önemli

Aşağıdaki yordamlar sırasında, oturum açmak, Azure Pipelines'ı yüklemek veya Azure Pipelines'ı yetkilendirmek için GitHub hizmet bağlantısı oluşturmanız veya GitHub'a yönlendirilmeniz istenebilir. İşlemi tamamlamak için ekrandaki yönergeleri izleyin. Daha fazla bilgi için bkz. GitHub depolarına erişim.

İşlem hattınızı oluşturma

  1. Azure DevOps projenizde İşlem Hatları>İşlem Hattı Oluştur ve ardından kaynak kodunuzun konumu olarak GitHub'ı seçin.
  2. Depo seçin ekranında, çatallanmış örnek deponuzu seçin.
  3. İşlem hattınızı yapılandırın ekranında Başlatıcı işlem hattı'nı seçin.

İşlem hattınızı özelleştirme

İşlem hattı YAML'nizi gözden geçirin ekranında, oluşturulan azure-pipelines.yml dosyasının içeriğini aşağıdaki kodla değiştirin. Kod:

  • Gerekli Python sürümlerini ve bağımlılıklarını yükler.
  • Derleme çıktılarını bir ZIP arşivine paketler.
  • Arşivi işlem hattınızda yayımlar.
  • Testleri çalıştırır.
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 proje yapılandırmanızla eşleşecek şekilde özelleştirin.

  • Farklı bir aracı havuzunuz varsa havuz name parametresini değiştirin.
  • Gerekirse Python sürümünü şirket içinde barındırılan aracınızda yüklü bir sürümle değiştirin.
  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'

İşlem hattınızı çalıştırma

Kaydet ve çalıştır'ı ve ardından Kaydet ve yeniden çalıştır'ı seçin.

Özet sekmesinde işlem hattı çalıştırmanızın durumu gösterilir.

Derleme yapıtınızı görüntülemek için Özet sekmesinde yayımlanan bağlantıyı seçin.

Yayınlanmış yapı çıktıları bağlantısının ekran görüntüsü.

Yapıtlar sayfasında yayımlanan derleme yapıtları gösterilir. Yayımlanan derleme yapıtlarının ekran görüntüsü.

Tamamlanmış Python işinin ekran görüntüsü.

Yapıtlar sayfasında yayımlanan derleme yapıtları gösterilir. Yayımlanan derleme çıktıları bağlantısının ekran görüntüsü.

Test sonuçlarını görüntülemek için Testler sekmesini seçin.

İşlem hattı test sonuçlarının ekran görüntüsü.

Temizleme

Bu hızlı başlangıcı tamamladığınızda, oluşturduğunuz Azure DevOps projesini silebilirsiniz.

  1. Projenizde, sayfanın sol alt köşesindeki Proje ayarları dişli simgesini seçin.
  2. Projeye genel bakış sayfasının en altında Sil'i seçin.
  3. Proje adını girin ve Sil'i seçin.

Tebrikler, bir Python uygulaması oluşturup test eden bir işlem hattını başarıyla oluşturdunuz ve çalıştırdunuz. Artık Sürekli tümleştirme ve sürekli teslim (CI/CD) sisteminizin bir parçası olarak Python uygulamaları ve betikleri derlemek, test etmek ve dağıtmak için Azure Pipelines'ı kullanabilirsiniz.

Sonraki adımlar