TwineAuthenticate@1 – Tarefa autenticar autenticação de upload do gêmeo Python v1
Use esta tarefa para autenticar uploads de distribuições do Python usando o gêmeo. Adicione -r FeedName/EndpointName --config-file $(PYPIRC_PATH)
ao comando de upload do gêmeo. Para feeds presentes nesta organização, use o nome do feed como o repositório (-r
). Caso contrário, use o nome do ponto de extremidade definido na conexão de serviço.
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.
Entradas
artifactFeed
- Meu feed (selecione abaixo)
string
.
Especifica o nome do feed do artefato do Azure para autenticar com o gêmeo. O feed de autenticação deve estar presente na organização. Para feeds com escopo de projeto, use a sintaxe projectName/feedNameSelect
.
pythonUploadServiceConnection
- Feed de organizações externas
string
.
Um nome de conexão de serviço de gêmeo de uma organização externa para autenticar com o gêmeo. As credenciais armazenadas no ponto de extremidade devem ter permissões de carregamento de pacote.
Opções de controle de tarefa
Todas as tarefas têm opções de controle além de suas entradas de tarefa. Para obter mais informações, consulte Opções de controle e propriedades comuns da tarefa.
Variáveis de saída
Nenhum.
Comentários
Fornece twine
credenciais para uma PYPIRC_PATH
variável de ambiente para o escopo do build. Isso permite que você publique pacotes do Python para feeds com twine
do seu build.
Quando, no meu pipeline, devo executar essa tarefa?
Essa tarefa deve ser executada antes de usar o gêmeo para carregar distribuições do Python em uma fonte de pacote autenticada, como o Azure Artifacts. Não há outros requisitos de ordenação. Várias invocações dessa tarefa não empilharão credenciais. Cada execução de tarefa apagará todas as credenciais armazenadas anteriormente.
Meu agente está por trás de um proxy web. TwineAuthenticate configurará o twine para usar meu proxy?
Não. Embora essa tarefa funcione por trás de um proxy Web que seu agente foi configurado para usar, ela não configura o gêmeo para usar o proxy.
Meu Pipeline precisa acessar um feed em um projeto diferente
Se o pipeline estiver em execução em um projeto diferente do projeto que hospeda o feed, você deverá configurar o outro projeto para conceder acesso de leitura/gravação ao serviço de build. Confira Permissões de pacote no Azure Pipelines para obter mais detalhes.
Exemplos
Os exemplos a seguir demonstram como publicar a distribuição do Python no feed do Azure Artifacts e no registro oficial do Python.
Publicar distribuição do Python no feed do Azure Artifacts
Neste exemplo, estamos definindo a autenticação para publicação em um Feed privado do Azure Artifacts. A tarefa de autenticação cria um .pypirc
arquivo que contém as credenciais de autenticação necessárias para publicar uma distribuição no feed.
# 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
A artifactFeed
entrada conterá o projeto e o nome do feed se o feed estiver no escopo do projeto. Se o feed estiver no escopo da organização, somente o nome do feed deverá ser fornecido. Saiba mais.
Publicar distribuição do Python no registro oficial do Python
Neste exemplo, estamos configurando a autenticação para publicação no registro oficial do Python. Crie uma entrada de conexão de serviço de gêmeo para pypi. A tarefa de autenticação usa essa conexão de serviço para criar um .pypirc
arquivo que contém as credenciais de autenticação necessárias para publicar a distribuição.
# 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
Requisitos
Requisito | Descrição |
---|---|
Tipos de pipeline | YAML, build clássico, versão clássica |
É executado em | Agent, DeploymentGroup |
Demandas | Nenhum |
Funcionalidades | Essa tarefa não atende a nenhuma demanda por tarefas subsequentes no trabalho. |
Restrições de comando | Qualquer |
Variáveis configuráveis | Qualquer |
Versão do agente | 2.144.0 ou superior |
Categoria da tarefa | Pacote |
Requisito | Descrição |
---|---|
Tipos de pipeline | YAML, build clássico, versão clássica |
É executado em | Agent, DeploymentGroup |
Demandas | Nenhum |
Funcionalidades | Essa tarefa não atende a nenhuma demanda por tarefas subsequentes no trabalho. |
Restrições de comando | Qualquer |
Variáveis configuráveis | Qualquer |
Versão do agente | 2.120.0 ou superior |
Categoria da tarefa | Pacote |