Aracılığıyla paylaş


Azure Pipelines ile Python paketleri yayımlama

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

Azure Pipelines, geliştiricilerin Python paketlerini Azure Artifacts akışlarına ve PyPi gibi genel kayıt defterlerine yayımlamasına olanak tanır. Bu makale, Azure Artifacts akışınızda Python paketlerini yayımlama konusunda size yol gösterir.

Önkoşullar

Bir akışla kimlik doğrulayın

Twine kullanarak Python paketlerini yayımlamak için önce Azure Artifacts akışınızla kimlik doğrulaması yapmanız gerekir. TwineAuthenticate görevi bir PYPIRC_PATH ortam değişkenine twine kimlik bilgileri sağlar. Bu değişken daha sonratwine tarafından paketleri doğrudan işlem hattınızdan yayımlamak için kullanılır.

Önemli

PYPIRC_PATH ortam değişkeninde depolanan kimlik bilgileri, .ini ve .conf dosyalarındaki kimlik bilgilerine göre önceliklidir.

İşlem hattınızın farklı aşamalarında birden çok TwineAuthenticate görevi eklerseniz, her görev yürütmesi var olan ortam değişkeni genişletir (geçersiz kılmaz).

  1. Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.

  2. İşlem hatlarıve ardından işlem hattı tanımınızı seçin.

  3. Düzenle'yiseçin ve ardından aşağıdaki kod parçacığını YAML işlem hattınıza ekleyin.

    steps:
    - task: UsePythonVersion@0
      displayName: 'Use Python 3.x'
    
    - task: TwineAuthenticate@1
      inputs:
        artifactFeed: <PROJECT_NAME/FEED_NAME>     ## For an organization-scoped feed, use: artifactFeed: <FEED_NAME>
    

Python paketlerini akışa yayımlama

Not

Azure Pipelines kullanarak paketlerinizi bir akışa yayımlamak için hem Proje Koleksiyonu Derleme Hizmeti hem de projenizin Derleme Hizmeti kimliklerine akış ayarlarınızda Akışı Yayımcısı (Katkıda Bulunan) rolü atandığından emin olun. Ayrıntılar için bkz . İzinleri yönetme.

  1. Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.

  2. İşlem hatları seçin ve ardından işlem hattı tanımınızıseçin.

  3. Düzenle'yiseçin ve ardından YAML işlem hattınıza aşağıdaki kod parçacığını ekleyin.

    steps:
    - task: UsePythonVersion@0
      displayName: 'Use Python 3.x'
    
    - script: |
        pip install build
        pip install twine
      displayName: 'Install build and twine'
    
    - script: |
        python -m build -w
      displayName: 'Python build'
    
    - task: TwineAuthenticate@1
      inputs:
        artifactFeed: <PROJECT_NAME/FEED_NAME>                ## For an organization-scoped feed, use: artifactFeed: <FEED_NAME>
      displayName: 'Twine Authenticate'
    
    - script: |
        python -m twine upload -r <FEED_NAME> --config-file $(PYPIRC_PATH) dist/*.whl
      displayName: 'Upload to feed'