Python-pakketten publiceren en downloaden met Azure-artefacten

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Met Behulp van Azure-artefacten kunt u pakketten publiceren en downloaden uit feeds en openbare registers, zoals PyPi. In deze quickstart wordt u begeleid bij het maken van een feed, het configureren van uw project en het beheren van Python-pakketten in uw Azure-artefacten-feed.

Voorwaarden

Product Eisen
Azure DevOps - Een Azure DevOps organisatie.
- Een Azure DevOps--project.
- Download en installeer Python.

De code ophalen

  1. Als u geen eigen Python-project hebt, kunt u het volgende Python-voorbeeldproject gebruiken. Anders kunt u doorgaan naar de volgende sectie:

    https://github.com/Azure-Samples/azure-stack-hub-flask-hello-world
    
  2. Voer de volgende opdrachten uit in de projectmap om uw wiel- en brondistributie te bouwen:

    pip install --upgrade build
    python -m build
    
  3. Als uw Python-project een setup.py-bestand heeft, kunt u uw pakket ook bouwen met behulp van:

    python setup.py sdist bdist_wheel
    

Een feed maken

  1. Meld u aan bij uw Azure DevOps-organisatie en navigeer naar uw project.

  2. Selecteer Artefacten selecteer vervolgens Feed maken.

  3. Voer een naam in voor uw feed.

  4. Kies een zichtbaarheidsinstelling om te bepalen wie pakketten in de feed kan bekijken.

  5. Selecteer Pakketten opnemen uit algemene openbare bronnen als u wilt dat uw feed upstream-pakketten gebruikt uit bronnen zoals nuget.org of npmjs.com.

  6. Kies voor Bereik of de feed is gericht op het huidige project of de hele organisatie.

  7. Selecteer Aanmaken wanneer u klaar bent.

    Schermopname van selecties voor het maken van een nieuwe feed in Azure DevOps Services.

  1. Meld u aan bij uw Azure DevOps-server en ga vervolgens naar uw project.

  2. Selecteer Artefacten selecteer vervolgens Feed maken.

  3. Voer een naam in voor uw feed.

  4. Kies een zichtbaarheidsinstelling om te bepalen wie pakketten in de feed kan bekijken.

  5. Selecteer Pakketten opnemen uit algemene openbare bronnen als u wilt dat uw feed upstream-pakketten gebruikt uit bronnen zoals nuget.org of npmjs.com.

  6. Kies voor Bereik of de feed is gericht op het huidige project of de hele organisatie.

  1. Selecteer Aanmaken wanneer u klaar bent.

    Schermopname van selecties voor het maken van een nieuwe feed in Azure DevOps 2022.

Notitie

Wanneer u een feed maakt, wordt standaard de rol Feed en Upstream Reader (Samenwerker) toegewezen aan het buildserviceaccount van het project, zoals projectName Build Service (orgName).

Verbinding maken met uw feed

  1. Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.

  2. Kies Artefacten, kies uw feed uit het vervolgkeuzemenu en kies vervolgens Verbinding maken met feed.

  3. Selecteer in de sectie Pythonde optie Twine.

  4. Als dit de eerste keer is dat u Azure-artefacten gebruikt met twine, selecteert u De hulpprogramma's ophalen en volgt u de instructies om Python te downloaden en Twine en de sleutelhanger voor artefacten te installeren.

  5. Maak een pypirc-bestand in uw basismap en plak het fragment dat is opgegeven in de sectie Project-installatie . Het bestand moet er als volgt uitzien:

    [distutils]
    Index-servers =
        FEED_NAME
    
    [FEED_NAME]
    Repository = https://pkgs.dev.azure.com/ORGANIZATION_NAME/PROJECT_NAME/_packaging/FEED_NAME/pypi/upload/
    

Notitie

Als uw PYPIRC-bestand al referenties bevat voor de openbare PyPI-index, raden we u aan de [pypi] sectie te verwijderen om te voorkomen dat privépakketten per ongeluk naar PyPI worden gepubliceerd.

Pakketten publiceren naar uw feed

  1. Voer in de projectmap de volgende opdracht uit om bron- en wieldistributies te maken:

    python setup.py sdist bdist_wheel
    
    
  2. Gebruik de onderstaande opdracht om uw pakket te publiceren. Zorg ervoor dat u de vlag -r FEED_NAME gebruikt om te voorkomen dat u per ongeluk naar PyPI publiceert:

    twine upload -r <FEED_NAME> dist/*
    

Pakketten installeren vanuit uw feed

  1. Als u pakketten wilt installeren vanuit uw feed, voert u de volgende opdracht uit in uw projectmap:

    pip install
    
  2. Als u een specifiek pakket wilt installeren, vervangt u de tijdelijke aanduiding door de pakketnaam uit uw feed:

    pip install <PACKAGE_NAME>