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ğlanma
- Azure Artifacts akışında Python paketleri yayımlama
Önkoşullar
Bir Azure DevOps kuruluşu ve bir proje. Henüz yapmadıysanız bir kuruluş veya proje oluşturun.
Azure Artifacts akışı. Henüz bir akışınız yoksa bir akış oluşturun.
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.