Dela 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 twine. Lägg till -r FeedName/EndpointName --config-file $(PYPIRC_PATH) i ditt twine-uppladdningskommando. 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 name (select below). 
    #pythonUploadServiceConnection: # string. Feed from external organizations.
# 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.

Ingångar

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

Anger Azure-artefaktens flödesnamn som ska autentiseras med twine. Autentiseringsflödet måste finnas i organisationen. För feeds med projektomfattning använder du syntaxen projectName/feedNameSelect.


artifactFeed - Min feed (välj nedan)
string.

Anger Azure-artefaktens flödesnamn som ska autentiseras med twine. 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.

En twine-tjänstanslutning namn från en extern organisation för att autentisera med twine. Autentiseringsuppgifterna som lagras i slutpunkten måste ha paketuppladdningsbehörigheter.


Kontrollalternativ för aktivitet

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

Utdatavariabler

Ingen.

Anmärkningar

Tillhandahåller 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 staplar inte autentiseringsuppgifter. Varje aktivitetskörning raderar alla tidigare lagrade autentiseringsuppgifter.

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

Nej. Även om den här uppgiften i sig fungerar bakom en webbproxy som agenten har konfigurerats för att använda, konfigurerar den inte twine 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 flödet måste du konfigurera det andra projektet för att bevilja läs-/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 för artifactFeed innehåller projektet och feednamnet om feeden är projektomfång. Om flödet är organisationsomfång måste endast flödesnamnet 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 twine-tjänstanslutning post för pypi. Autentisera-uppgiften 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
kräver Ingen
funktioner Den här aktiviteten uppfyller inte några krav på efterföljande uppgifter i jobbet.
Kommandobegränsningar Vilken som helst
variabler som kan Vilken som helst
Agentversion 2.144.0 eller senare
Aktivitetskategori Paket
Krav Beskrivning
Pipelinetyper YAML, klassisk version, klassisk version
Körs på Agent, DeploymentGroup
kräver Ingen
funktioner Den här aktiviteten uppfyller inte några krav på efterföljande uppgifter i jobbet.
Kommandobegränsningar Vilken som helst
variabler som kan Vilken som helst
Agentversion 2.120.0 eller senare
Aktivitetskategori Paket