Azure Pipelines ile Python paketleri yayımlama

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

Geliştiriciler, Azure Pipelines'ı kullanarak Azure Artifacts akışlarına, genel kayıt defterlerine Python paketleri yayımlayabilir veya bunları işlem hattı yapıtları olarak depolayabilir. Bu makale aşağıdaki adımları gerçekleştirmeniz için size yol gösterir:

  • Önkoşulları yükleme
  • Azure Artifacts akışına Bağlan
  • Azure Artifacts akışında Python paketleri yayımlama

Önkoşullar

Azure Artifacts ile kimlik doğrulaması

Python paketlerinizi yayımlamak için kullanmak twine 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, paketlerinizin doğrudan işlem hattınızdan yayımlanmasını kolaylaştırmak için tarafındantwine kullanılır.

- task: TwineAuthenticate@1
  inputs:
    artifactFeed: <PROJECT_NAME/FEED_NAME>     ## For an organization-scoped feed, artifactFeed: <FEED_NAME>

Önemli

Ortam değişkeninde PYPIRC_PATH depolanan kimlik bilgileri ve .conf dosyalarınızdaki .ini kimlik bilgilerinin yerini alır.

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

Azure Artifacts akışında Python paketleri yayımlama

- 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>
  displayName: 'Twine Authenticate'

- script: |
    python -m twine upload -r <FEED_NAME> --config-file $(PYPIRC_PATH) dist/*.whl
  displayName: 'Upload to feed'

Not

Azure Pipelines kullanarak paketlerinizi bir akışta yayımlamak için hem Proje Koleksiyonu Derleme Hizmeti'nin hem de projenizin Derleme Hizmeti kimliklerinin akış ayarlarınızda Akış Yayımcısı (Katkıda Bulunan) rolü atanmış olmalıdır. Ayrıntılar için bkz . İzinleri yönetme.