Delen via


TwineAuthenticate@1 - Verificatie v1-taak voor uploaden met Python twine

Gebruik deze taak om uploads van Python-distributies te verifiëren met behulp van twine. Voeg -r FeedName/EndpointName --config-file $(PYPIRC_PATH) toe aan de uploadopdracht van uw tweeling. Gebruik de feednaam als opslagplaats (-r) voor feeds die aanwezig zijn in deze organisatie. Gebruik anders de eindpuntnaam die is gedefinieerd in de serviceverbinding.

Syntaxis

# 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.

Invoer

artifactFeed - Mijn feednaam (selecteer hieronder)
string.

Hiermee geeft u de feednaam van het Azure-artefact op voor verificatie met twine. De verificatiefeed moet aanwezig zijn binnen de organisatie. Gebruik de syntaxis projectName/feedNameSelectvoor feeds met projectbereik.


artifactFeed - Mijn feed (selecteer hieronder)
string.

Hiermee geeft u de feednaam van het Azure-artefact op voor verificatie met twine. De verificatiefeed moet aanwezig zijn binnen de organisatie. Gebruik de syntaxis projectName/feedNameSelectvoor feeds met projectbereik.


pythonUploadServiceConnection - feed van externe organisaties
string.

Een twine-serviceverbinding naam van een externe organisatie om te verifiëren met twine. De referenties die zijn opgeslagen in het eindpunt, moeten machtigingen voor het uploaden van pakketten hebben.


Opties voor taakbeheer

Alle taken hebben besturingsopties naast hun taakinvoer. Zie Opties en algemene taakeigenschappenvoor meer informatie.

Uitvoervariabelen

Geen.

Opmerkingen

Biedt twine referenties voor een PYPIRC_PATH omgevingsvariabele voor het bereik van de build. Hiermee kunt u Python-pakketten publiceren naar feeds met twine vanuit uw build.

Wanneer moet ik deze taak uitvoeren in mijn pijplijn?

Deze taak moet worden uitgevoerd voordat u twine gebruikt om Python-distributies te uploaden naar een geverifieerde pakketbron, zoals Azure Artifacts. Er zijn geen andere bestelvereisten. Bij meerdere aanroepen van deze taak worden referenties niet gestapeld. Bij elke taakuitvoering worden alle eerder opgeslagen referenties gewist.

Mijn agent bevindt zich achter een webproxy. Wordt twineAuthenticate ingesteld voor het gebruik van mijn proxy?

Nee. Hoewel deze taak zelf werkt achter een webproxy, is uw agent geconfigureerd voor het gebruik van, wordt er geen dubbele geconfigureerd voor het gebruik van de proxy.

Mijn pijplijn moet toegang krijgen tot een feed in een ander project

Als de pijplijn wordt uitgevoerd in een ander project dan het project dat als host fungeert voor de feed, moet u het andere project instellen om lees-/schrijftoegang te verlenen aan de buildservice. Zie Pakketmachtigingen in Azure Pipelines voor meer informatie.

Voorbeelden

In de volgende voorbeelden ziet u hoe u python-distributie publiceert naar de Azure Artifacts-feed en het officiële Python-register.

Python-distributie publiceren naar Azure Artifacts-feed

In dit voorbeeld stellen we verificatie in voor het publiceren naar een persoonlijke Azure Artifacts-feed. De verificatietaak maakt een .pypirc-bestand met de verificatiereferenties die nodig zijn om een distributie naar de feed te publiceren.

# 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

De artifactFeed-invoer bevat het project en de naam van de feed als de feed een projectbereik heeft. Als het bereik van de feed is, moet alleen de feednaam worden opgegeven. Meer informatie.

Python-distributie publiceren naar het officiële Python-register

In dit voorbeeld wordt verificatie ingesteld voor het publiceren naar het officiële Python-register. Maak een twine-serviceverbinding vermelding voor pypi-. De verificatietaak maakt gebruik van die serviceverbinding om een .pypirc-bestand te maken dat de verificatiereferenties bevat die nodig zijn om de distributie te publiceren.

# 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

Vereisten

Voorwaarde Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
eisen Geen
mogelijkheden Deze taak voldoet niet aan de vereisten voor volgende taken in de taak.
opdrachtbeperkingen Welk dan ook
variabelen instellen Welk dan ook
Agentversie 2.144.0 of hoger
Taakcategorie Pakket
Voorwaarde Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
eisen Geen
mogelijkheden Deze taak voldoet niet aan de vereisten voor volgende taken in de taak.
opdrachtbeperkingen Welk dan ook
variabelen instellen Welk dan ook
Agentversie 2.120.0 of hoger
Taakcategorie Pakket