Publicar e baixar pacotes Python com o Artefactos do Azure

Serviços de DevOps do Azure | Azure DevOps Server | Azure DevOps Server 2022

Usando o Artefactos do Azure, você pode publicar e baixar pacotes de feeds e registros públicos, como o PyPi. Este guia de início rápido orienta você na criação de um feed, na configuração do projeto e no gerenciamento de pacotes Python no feed de Artefatos do Azure.

Pré-requisitos

Produto Requisitos
Azure DevOps - Uma organização Azure DevOps .
- Um projeto do Azure DevOps .
- Baixe e instale Python.

Obter o código

  1. Se você não tem seu próprio projeto Python, você pode usar o seguinte projeto Python de exemplo. Caso contrário, você pode pular para a próxima seção:

    https://github.com/Azure-Samples/azure-stack-hub-flask-hello-world
    
  2. Para construir sua distribuição de roda e origem, execute os seguintes comandos no diretório do projeto:

    pip install --upgrade build
    python -m build
    
  3. Se o seu projeto Python tiver um arquivo setup.py , você também pode construir seu pacote usando:

    python setup.py sdist bdist_wheel
    

Criar um feed

  1. Entre em sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Artefatos e, em seguida, selecione Criar feed.

  3. Introduza um Nome para o seu feed.

  4. Escolha uma definição de Visibilidade para controlar quem pode ver os pacotes no feed.

  5. Selecione Incluir pacotes de fontes públicas comuns se quiser que o seu feed utilize pacotes a montante de fontes como nuget.org ou npmjs.com.

  6. Em Âmbito, escolha se o feed se aplica ao projeto atual ou a toda a organização.

  7. Selecione Criar quando terminar.

    Captura de ecrã a mostrar seleções para criar um novo feed no Azure DevOps Services.

  1. Inicie sessão no seu servidor Azure DevOps e, em seguida, aceda ao seu projeto.

  2. Selecione Artefatos e, em seguida, selecione Criar feed.

  3. Introduza um Nome para o seu feed.

  4. Escolha uma definição de Visibilidade para controlar quem pode ver os pacotes no feed.

  5. Selecione Incluir pacotes de fontes públicas comuns se quiser que o seu feed utilize pacotes a montante de fontes como nuget.org ou npmjs.com.

  6. Em Âmbito, escolha se o feed se aplica ao projeto atual ou a toda a organização.

  1. Selecione Criar quando terminar.

    Captura de ecrã a mostrar seleções para criar um novo feed no Azure DevOps 2022.

Observação

Quando cria um feed, a conta Build Service do projeto, como projectName Build Service (orgName), recebe, por predefinição, a função Leitor do Feed e a montante (Colaborador).

Conecte-se ao seu feed

  1. Entre em sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Artefatos, selecione seu feed no menu suspenso e, em seguida, selecione Conectar ao feed.

  3. Na seção Python , selecione twine.

  4. Se esta for a sua primeira vez usando Artefatos do Azure com cordéis, selecione Obter as ferramentas e siga as instruções para baixar o Python e instalar o Twine e o chaveiro de artefatos.

  5. Crie um arquivo pypirc em seu diretório inicial e cole o trecho fornecido na seção Configuração do projeto . O seu ficheiro deve ter o seguinte aspeto:

    [distutils]
    Index-servers =
        FEED_NAME
    
    [FEED_NAME]
    Repository = https://pkgs.dev.azure.com/ORGANIZATION_NAME/PROJECT_NAME/_packaging/FEED_NAME/pypi/upload/
    

Observação

Se o seu arquivo .pypirc já incluir credenciais para o índice PyPI público, recomendamos remover a [pypi] seção para evitar a publicação acidental de pacotes privados no PyPI.

Publicar pacotes na sua feed

  1. No diretório do projeto, execute o seguinte comando para criar distribuições de origem e roda:

    python setup.py sdist bdist_wheel
    
    
  2. Para publicar seu pacote, use o comando abaixo. Certifique-se de usar o flag -r FEED_NAME para evitar publicar acidentalmente no PyPI.

    twine upload -r <FEED_NAME> dist/*
    

Instalar pacotes a partir do seu feed

  1. Para instalar pacotes a partir do feed, execute o seguinte comando no diretório do projeto:

    pip install
    
  2. Para instalar um pacote específico, substitua o espaço reservado pelo nome do pacote do feed:

    pip install <PACKAGE_NAME>