Guia de início rápido: publicar e consumir pacotes Python com Artefatos do Azure usando a linha de comando (CLI)

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

Neste guia de início rápido, você aprenderá a criar um feed de Artefatos do Azure e usar seu feed para publicar e consumir pacotes Python da linha de comando em seu ambiente de desenvolvimento local. Quando terminar, você terá um pacote Python publicado em seu feed e instalado a partir de seu feed em seu ambiente de desenvolvimento local.

Para publicar e consumir pacotes em seus Pipelines do Azure, consulte Publicar pacotes Python com o Azure Pipelines.

Pré-requisitos

Para executar as seguintes etapas, você deve ter:

  • Uma organização Azure DevOps. Crie um gratuitamente.
  • Um token de acesso pessoal (PAT) com escopo de leitura de embalagem>. Para criar um, consulte Criar um PAT.
  • Um projeto de DevOps do Azure. Se você não tiver um, crie um projeto.
  • Python 3.8 ou posterior instalado em sua máquina local. Faça o download do Python aqui.
  • Pip 19.2 e Twine 1.13.0 ou superior.
  • Um pacote Python para publicar a partir da sua máquina local para o seu feed.
  • Se estiver usando o pacote Python de exemplo:
    • Uma conta GitHub. Crie uma conta gratuita no GitHub, se ainda não tiver uma.
    • git instalado em sua máquina local.
  • Uma conta GitHub. Crie uma conta gratuita no GitHub, se ainda não tiver uma.
  • Acesso a uma coleção do Azure DevOps Server.
  • Um token de acesso pessoal (PAT) com escopo de leitura de embalagem>. Para criar um, consulte Criar um PAT.
  • Um projeto de DevOps do Azure. Se você não tiver um, crie um projeto.
  • Python 3.8 ou posterior instalado em seu ambiente de desenvolvimento local.
  • Pip 19.2 e Twine 1.13.0 ou superior.
  • Se estiver usando o pacote Python de exemplo:
    • Uma conta GitHub. Crie uma conta gratuita no GitHub, se ainda não tiver uma.
    • git instalado em sua máquina local.

Criar um pacote Python local

Você precisa de um pacote Python para publicar em seu feed. Se você não tiver um pacote para publicar, poderá clonar um pacote Python de exemplo do GitHub.

Clone o pacote Python de exemplo

Use as etapas a seguir para usar o pacote Python de exemplo do GitHub.

  1. Vá para o seguinte repositório GitHub:

    https://github.com/microsoft/python-package-template
    
  2. Fork o repositório para sua conta GitHub.

  3. Vá para o repositório bifurcado e selecione Código.

  4. Copie o URL do repositório bifurcado.

  5. A partir de uma CLI em sua máquina local, clone o repositório com o seguinte comando usando a URL copiada do repositório bifurcado:

    git clone <REPOSITORY_URL>
    
  6. Altere o diretório para o repositório clonado.

    cd python-package-template
    

Construa o seu pacote

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

Se seu projeto Python tiver um setup.py arquivo, você pode usar o seguinte comando para construir seu pacote:

python setup.py sdist bdist_wheel

Criar um feed

  1. Inicie sessão na sua organização do Azure DevOps e, em seguida, aceda ao seu projeto.

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

    A screenshot showing how to create a feed.

  3. Insira as seguintes informações para o seu feed:

    1. Insira um Nome descritivo para seu feed.
    2. Defina sua Visibilidade (indicando quem pode visualizar pacotes dentro do feed).
    3. Selecione se deseja usar pacotes de fontes públicas, como pypi.org.
    4. Especifique o Escopo do seu feed.
  4. Selecione Criar.

  1. Vá para sua coleção de DevOps do Azure, selecione seu projeto.

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

    A screenshot showing how to create a feed in DevOps Server.

  3. Insira as seguintes informações para o seu feed:

    1. Insira um Nome descritivo para seu feed.
    2. Defina sua Visibilidade (indicando quem pode visualizar pacotes dentro do feed).
    3. Selecione se deseja usar pacotes de fontes públicas, como pypi.org.
    4. Especifique o Escopo do seu feed.
  4. Selecione Criar.

  1. Vá para sua coleção de DevOps do Azure, selecione seu projeto.

  2. Selecione Artefatos e, em seguida, selecione Criar feed para criar um novo feed.

  3. Insira as seguintes informações para o seu feed:

    1. Insira um Nome descritivo para seu feed.
    2. Defina sua Visibilidade (indicando quem pode visualizar pacotes dentro do feed).
    3. Selecione se deseja usar pacotes de fontes públicas, como pypi.org.
    4. Especifique o Escopo do seu feed.
  4. Selecione Criar.

  1. Vá para sua coleção de DevOps do Azure, selecione seu projeto.

  2. Selecione Artefatos e, em seguida, selecione Criar feed para criar um novo feed.

  3. Insira as seguintes informações para o seu feed:

    1. Insira um Nome descritivo para seu feed.
    2. Defina sua Visibilidade (indicando quem pode visualizar pacotes dentro do feed).
    3. Escolha se deseja usar pacotes de fontes públicas, como pypi.org.
  4. Selecione Criar.

Publique o pacote no feed

Use o twine para carregar seu pacote no feed de Artefatos do Azure.

  1. Vá para seu Projeto de DevOps do Azure e selecione Artefatos.

  2. Selecione seu feed e selecione Conectar ao feed.

    A screenshot highlighting the connect to feed.

  3. Selecione o fio na seção Python .

    A screenshot highlighting the twine package type.

  4. Na sua máquina de desenvolvimento, certifique-se de que o fio está instalado.

    pip install --upgrade twine
    
  5. Siga as instruções na seção Configuração do projeto para configurar seu .pypirc arquivo.

    A screenshot highlighting the `.pyirc` content.

  6. Para evitar a necessidade de inserir seu token de acesso pessoal toda vez que publicar um pacote, você pode adicionar suas credenciais ao .pypirc arquivo. Certifique-se de não verificar seu token de acesso pessoal em um repositório público.

    Exemplo de um .pypirc ficheiro com credenciais:

    [distutils]
    Index-servers =
        <FEED_NAME>
    
    [<FEED_NAME>]
    Repository = <FEED_URL>
    username = <FEED_NAME>
    password = <YOUR_PERSONAL_ACCESS_TOKEN>
    
  7. Para carregar o pacote, execute o seguinte comando no diretório do projeto, substituindo <FEED_NAME> pelo nome do feed. No Windows, talvez seja necessário especificar o local do .pypirc arquivo com o --config-file argumento.

    twine upload --repository <FEED_NAME> dist/*
    

Instalar um pacote a partir do seu feed

  1. Vá para seu Projeto de DevOps do Azure e selecione Artefatos.

  2. Selecione seu feed e selecione Conectar ao feed.

    A screenshot highlighting the connect to feed button.

  3. Selecione pip na seção Python .

    A screenshot highlighting the pip package type.

  4. Prepare seu ambiente Python local.

    1. Certifique-se de que o pip está instalado e atualizado:

      python -m pip install --upgrade pip
      
    2. Crie e ative um ambiente virtual Python:

      python -m venv myenv
      myenv/Scripts/activate
      
  5. Adicione um arquivo pip.ini (Windows) ou pip.conf (Mac/Linux) ao diretório raiz do seu ambiente virtual. Copie o conteúdo da seção Configuração do projeto da caixa de diálogo Conectar ao feed e adicione-o ao seu arquivo pip.ini ou pip.conf .

    A screenshot highlighting the pip.ini file content.

  6. Para evitar a necessidade de inserir seu token de acesso pessoal toda vez que você instalar um pacote do seu feed, você pode adicionar suas credenciais ao arquivo pip.ini ou pip.conf . Certifique-se de não verificar seu token de acesso pessoal em um repositório público.

    Exemplo de um arquivo pip.ini ou pip.conf com credenciais:

    [global]
    extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@<FEED_URL>
    
  7. Para instalar o pacote, execute o seguinte comando substituindo <PACKAGE_NAME> pelo nome do pacote do feed.

    pip install <PACKAGE_NAME>
    

Clean up resources (Limpar recursos)

Quando terminar os recursos que criou, pode eliminá-los para evitar incorrer em encargos. Quando você exclui um projeto, todos os seus feeds de artefatos no nível do projeto são excluídos.

Para excluir um projeto:

  1. Selecione Configurações do projeto.
  2. Na página Detalhes do projeto, selecione Excluir na parte inferior da página.
  3. Digite o nome do projeto a ser confirmado e selecione Excluir.

Se você quiser excluir apenas o feed:

  1. Selecione Artefatos e selecione seu feed no menu suspenso.
  2. Selecione o botão de configurações.
  3. Na guia Configurações de feed , selecione Excluir feed.
  4. Selecione Eliminar para confirmar.

Para limpar o seu ambiente de desenvolvimento local:

  1. Para desativar seu ambiente virtual, execute o seguinte comando:

    deactivate
    
  2. Para excluir seu ambiente virtual, exclua o diretório onde ele foi criado.

  3. Remova o .pypirc arquivo do diretório inicial.

Se você clonou o pacote Python de exemplo, poderá excluir o repositório da máquina local e da conta do GitHub.

Próximos passos