Share via


TwineAuthenticate@1 – Python twine upload authenticate v1 task

Använd den här uppgiften för att autentisera uppladdningar av Python-distributioner med hjälp av tvilling. Lägg till -r FeedName/EndpointName --config-file $(PYPIRC_PATH) i uppladdningskommandot för din tvilling. För feeds som finns i den här organisationen använder du feednamnet som lagringsplats (-r). Annars använder du slutpunktsnamnet som definierats i tjänstanslutningen.

Syntax

# Python twine upload authenticate v1
# Authenticate for uploading Python distributions using twine. Add '-r FeedName/EndpointName --config-file $(PYPIRC_PATH)' to your twine upload command. For feeds present in this organization, use the feed name as the repository (-r). Otherwise, use the endpoint name defined in the service connection.
- task: TwineAuthenticate@1
  inputs:
  # Feeds and Authentication
    #artifactFeed: # string. My feed (select below). 
    #pythonUploadServiceConnection: # string. Feed from external organizations.

Indata

artifactFeed - Mitt flöde (välj nedan)
string.

Anger Azure-artefaktens flödesnamn för att autentisera med tvilling. Autentiseringsflödet måste finnas i organisationen. För feeds med projektomfattning använder du syntaxen projectName/feedNameSelect.


pythonUploadServiceConnection - Feed från externa organisationer
string.

Ett anslutningsnamn för twine-tjänsten från en extern organisation för att autentisera med tvilling. Autentiseringsuppgifterna som lagras i slutpunkten måste ha behörighet att ladda upp paket.


Alternativ för aktivitetskontroll

Alla aktiviteter har kontrollalternativ utöver sina uppgiftsindata. Mer information finns i Kontrollalternativ och vanliga uppgiftsegenskaper.

Utdatavariabler

Inga.

Kommentarer

Ger twine autentiseringsuppgifter till en PYPIRC_PATH miljövariabel för byggets omfång. På så sätt kan du publicera Python-paket till feeds med twine från din version.

När i min pipeline ska jag köra den här uppgiften?

Den här uppgiften måste köras innan du använder twine för att ladda upp Python-distributioner till en autentiserad paketkälla, till exempel Azure Artifacts. Det finns inga andra beställningskrav. Flera anrop för den här uppgiften kommer inte att stapla autentiseringsuppgifter. Varje aktivitet som körs raderar alla tidigare lagrade autentiseringsuppgifter.

Min agent finns bakom en webbproxy. Kommer TwineAuthenticate att konfigurera tvilling för att använda min proxy?

Nej. Även om den här uppgiften i sig fungerar bakom en webbproxy som agenten har konfigurerats att använda, konfigurerar den inte tvillingen för att använda proxyn.

Min pipeline måste komma åt en feed i ett annat projekt

Om pipelinen körs i ett annat projekt än det projekt som är värd för feeden måste du konfigurera det andra projektet för att bevilja läs- och skrivåtkomst till byggtjänsten. Mer information finns i Paketbehörigheter i Azure Pipelines .

Exempel

Följande exempel visar hur du publicerar Python-distribution till Azure Artifacts-feed och det officiella Python-registret.

Publicera Python-distribution till Azure Artifacts-feed

I det här exemplet ställer vi in autentisering för publicering till en privat Azure Artifacts Feed. Autentisera-uppgiften skapar en .pypirc fil som innehåller de autentiseringsuppgifter som krävs för att publicera en distribution till feeden.

# Install python distributions like wheel, twine etc
- script: |
     pip install wheel
     pip install twine
  
# Build the python distribution from source
- script: |
     python setup.py bdist_wheel
   
- task: TwineAuthenticate@1
  displayName: Twine Authenticate
  inputs:
    # In this case, name of the feed is 'myTestFeed' in the project 'myTestProject'. Project is needed because the feed is project scoped.
    artifactFeed: myTestProject/myTestFeed
  
# Use command line script to 'twine upload', use -r to pass the repository name and --config-file to pass the environment variable set by the authenticate task.
- script: |
     python -m twine upload -r myTestFeed --config-file $(PYPIRC_PATH) dist/*.whl

Indata artifactFeed innehåller projektet och feednamnet om feeden är projektomfång. Om flödet är organisationsomfång måste endast feednamnet anges. Läs mer.

Publicera Python-distribution till det officiella Python-registret

I det här exemplet konfigurerar vi autentisering för publicering till det officiella Python-registret. Skapa en anslutningspost för twine-tjänsten för pypi. Autentisera-aktiviteten använder tjänstanslutningen för att skapa en .pypirc fil som innehåller de autentiseringsuppgifter som krävs för att publicera distributionen.

# Install python distributions like wheel, twine etc
- script: |
     pip install wheel
     pip install twine
  
# Build the python distribution from source
- script: |
     python setup.py bdist_wheel
   
- task: TwineAuthenticate@1
  displayName: Twine Authenticate
  inputs:
    # In this case, name of the service connection is "pypitest".
    pythonUploadServiceConnection: pypitest
  
# Use command line script to 'twine upload', use -r to pass the repository name and --config-file to pass the environment variable set by the authenticate task.
- script: |
     python -m twine upload -r "pypitest" --config-file $(PYPIRC_PATH) dist/*.whl

Krav

Krav Beskrivning
Pipelinetyper YAML, klassisk version, klassisk version
Körs på Agent, DeploymentGroup
Krav Ingen
Funktioner Den här aktiviteten uppfyller inte några krav för efterföljande uppgifter i jobbet.
Kommandobegränsningar Valfri
Inställningsbara variabler Valfri
Agentversion 2.144.0 eller senare
Uppgiftskategori Paket
Krav Beskrivning
Pipelinetyper YAML, klassisk version, klassisk version
Körs på Agent, DeploymentGroup
Krav Ingen
Funktioner Den här aktiviteten uppfyller inte några krav för efterföljande uppgifter i jobbet.
Kommandobegränsningar Valfri
Inställningsbara variabler Valfri
Agentversion 2.120.0 eller senare
Uppgiftskategori Paket