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 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.
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
Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.
İşlem hatları
ve ardından işlem hattı tanımınızı seçin. 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.
Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.
İşlem hatları seçin ve ardından işlem hattı tanımınızıseçin.
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'