Python-csomagok közzététele az Azure Pipelines használatával

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Az Azure Pipelines használatával a fejlesztők közzétehetik a Python-csomagokat az Azure Artifacts-hírcsatornákban, a nyilvános adatbázisokban, vagy folyamatösszetevőkként tárolhatják őket. Ez a cikk bemutatja, hogyan:

  • Az előfeltételek telepítése
  • Csatlakozás Azure Artifacts-hírcsatornába
  • Python-csomagok közzététele Azure Artifacts-csatornán

Előfeltételek

Hitelesítés az Azure Artifacts használatával

twine A Python-csomagok közzétételéhez először hitelesítenie kell magát az Azure Artifacts-csatornával. A TwineAuthenticate feladat twine hitelesítő adatokat biztosít egy PYPIRC_PATH környezeti változónak. Ezt a változóttwine a rendszer a csomagok közvetlenül a folyamatból való közzétételének megkönnyítésére használja.

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

Fontos

A környezeti változóban tárolt hitelesítő adatok felülírják az PYPIRC_PATH Ön .ini és .conf a fájlok adatait.

Ha több TwineAuthenticate tevékenységet ad hozzá a folyamat különböző szakaszaiban, minden további feladat végrehajtása kiterjeszti (nem felülbírálja) a meglévő PYPIRC_PATH környezeti változót.

Python-csomagok közzététele Azure Artifacts-csatornán

- 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'

Feljegyzés

A csomagok Azure Pipelines használatával történő közzétételéhez a Project Collection Build Service-nek és a projekt buildszolgáltatás-identitásainak is hozzá kell rendelniük a Hírcsatorna-közzétevő (Közreműködő) szerepkört a hírcsatorna beállításaiban. Részletekért lásd: Engedélyek kezelése.