Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Använd denna uppgift 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
#azureDevOpsServiceConnection: # string. Alias: workloadIdentityServiceConnection. 'Azure DevOps' Service Connection.
#feedUrl: # string. Azure Artifacts Feed url.
#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 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
azureDevOpsServiceConnection
-
'Azure DevOps' Tjänsteanslutning
Indataalias: workloadIdentityServiceConnection.
string.
Om detta är satt, feedUrl krävs det. Alla andra ingångar ignoreras.
feedUrl
-
Azure Artifacts Feed-URL
string.
Om detta är satt, workloadIdentityServiceConnection krävs det. Alla andra ingångar ignoreras. Inte kompatibel med pythonUploadServiceConnections. Feed-URL:en ska vara i pypi uppladdningsregisterformat: https://pkgs.dev.azure.com/{ORG_NAME}/{PROJECT}/_packaging/{FEED_NAME}/pypi/upload/.
artifactFeed
-
Mitt flödesnamn (välj nedan)
string.
Specificerar Azure-artefaktens feednamn för att autentisera 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.
Specificerar Azure-artefaktens feednamn för att autentisera 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. Detta gör det möjligt att publicera Python paket till matningar med twine från din build.
- När i min pipeline ska jag köra den här uppgiften?
- Min agent finns bakom en webbproxy. Kommer TwineAuthenticate att konfigurera twine för att använda min proxy?
- Min pipeline måste komma åt en feed i ett annat projekt
När i min pipeline ska jag köra den här uppgiften?
Denna uppgift måste köras innan du använder Twine för att ladda upp Python-distributioner till en autentiserad paketkälla, såsom 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. Se Paketbehörigheter i Azure-pipelines för mer information.
Exempel
Följande exempel visar hur man publicerar pythondistribution till Azure Artifacts flöde och det officiella pythonregistret.
- Publicera Python distribution till Azure Artifacts feed
- Publicera Python distribution till det officiella Python registret
Publicera Python distribution till Azure Artifacts feed
I detta exempel ställer vi in autentisering för publicering till ett 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:
artifactFeed: projectName/feedName # For project scoped feeds use: projectName/FeedName, or just feedName for organization scoped feeds
- script: |
python -m twine upload -r feedName --config-file $(PYPIRC_PATH) dist/*.whl # Use -r to pass the repository name (defined in the .pypirc file), and --config-file to point to the .pypirc path set by the TwineAuthenticate task
displayName: Upload package with Twine
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 ställer vi in 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:
pythonUploadServiceConnection: pypitest # Name of the Python package upload service connection
- script: |
python -m twine upload -r "pypitest" --config-file $(PYPIRC_PATH) dist/*.whl # Use -r to pass the repository name, and --config-file to point to the .pypirc path set by the TwineAuthenticate task
displayName: Upload package with Twine
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 |