Pubblicare pacchetti Python con Azure Pipelines
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure Pipelines consente agli sviluppatori di pubblicare pacchetti Python in feed di Azure Artifacts e registri pubblici, ad esempio PyPi. Questo articolo illustra come pubblicare pacchetti Python nel feed di Azure Artifacts.
Prerequisiti
Un'organizzazione Di Azure DevOps e un progetto. Creare un'organizzazione o un progetto, se non è già stato fatto.
Feed di Azure Artifacts. Crea un feed se non ne hai già uno.
Eseguire l'autenticazione con un feed
Per pubblicare pacchetti Python usando twine, è prima necessario eseguire l'autenticazione con il feed di Azure Artifacts. L'attività TwineAuthenticate fornisce le credenziali gemelle a una PYPIRC_PATH
variabile di ambiente. Questa variabile viene quindi usata datwine
per pubblicare pacchetti direttamente dalla pipeline.
Importante
Le credenziali archiviate nella variabile di ambiente PYPIRC_PATH
hanno la precedenza su quelle nei file .ini
e .conf
.
Se aggiungi più attività TwineAuthenticate in diverse fasi della tua pipeline, l'esecuzione di ogni attività estenderà (e non sostituirà) la variabile d'ambiente PYPIRC_PATH
esistente.
Accedere all'organizzazione di Azure DevOps e passare al progetto.
Selezionare Pipelinee quindi selezionare la definizione della pipeline.
Selezionare Modifica, poi aggiungere il seguente frammento di codice alla pipeline YAML.
steps: - task: UsePythonVersion@0 displayName: 'Use Python 3.x' - task: TwineAuthenticate@1 inputs: artifactFeed: <PROJECT_NAME/FEED_NAME> ## For an organization-scoped feed, use: artifactFeed: <FEED_NAME>
Pubblicare pacchetti Python in un feed
Nota
Per pubblicare i pacchetti in un feed usando Azure Pipelines, assicurarsi che sia il
Accedere all'organizzazione di Azure DevOps e passare al progetto.
Selezionare Pipeline, quindi selezionare la definizione della pipeline.
Selezionare Modificae quindi aggiungere il frammento di codice seguente alla pipeline YAML.
steps: - task: UsePythonVersion@0 displayName: 'Use Python 3.x' - script: | pip install build pip install twine displayName: 'Install build and twine' - script: | python -m build -w displayName: 'Python build' - task: TwineAuthenticate@1 inputs: artifactFeed: <PROJECT_NAME/FEED_NAME> ## For an organization-scoped feed, use: artifactFeed: <FEED_NAME> displayName: 'Twine Authenticate' - script: | python -m twine upload -r <FEED_NAME> --config-file $(PYPIRC_PATH) dist/*.whl displayName: 'Upload to feed'