Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Serviços de DevOps do Azure
Configure e use o Anaconda com Python em seu pipeline. Anaconda é uma distribuição Python para ciência de dados e aprendizado de máquina.
Pré-requisitos
O Python está pré-instalado em agentes hospedados pela Microsoft para Linux, macOS e Windows. Você não precisa configurar mais nada para construir projetos Python. Para ver quais versões do Python estão pré-instaladas, consulte Software.
| Produto | Requisitos |
|---|---|
| Azure DevOps | - Um projeto Azure DevOps. - Capacidade de executar pipelines em agentes hospedados pela Microsoft. Você pode comprar um trabalho paralelo ou solicitar um nível gratuito. - Conhecimentos básicos de YAML e Azure Pipelines. Para obter mais informações, consulte Criar seu primeiro pipeline. - Permissões: - Para criar um pipeline: você deve estar no grupo Colaboradores e o grupo precisa ter a permissão Criar pipeline de compilação definida como Permitir. Os membros do grupo Administradores de Projeto podem gerenciar pipelines. - Para criar conexões de serviço: Você deve ter a função de Administrador ou Criador para conexões de serviço. |
| GitHub | - Uma conta GitHub. - Uma ligação de serviço do GitHub para autorizar o Azure Pipelines. |
Introdução
Siga estas instruções para configurar um pipeline para um aplicativo Python de exemplo com o ambiente Anaconda.
Entre em sua organização do Azure DevOps e navegue até seu projeto.
No seu projeto, navegue até à página Pipelines. Em seguida, escolha a ação para criar um novo pipeline.
Percorra as etapas do assistente selecionando primeiro o GitHub como o local do seu código-fonte.
Poderá ser redirecionado para o GitHub para iniciar sessão. Em caso afirmativo, insira suas credenciais do GitHub.
Quando a lista de repositórios aparecer, selecione seu repositório de exemplo Anaconda.
O Azure Pipelines analisa o código em seu repositório e deteta um arquivo existente
azure-pipelines.yml.Selecione Executar.
Uma nova execução é iniciada. Aguarde a conclusão da execução.
Gorjeta
Para fazer alterações no arquivo YAML conforme descrito neste artigo, selecione o pipeline na página Pipelines e edite o azure-pipelines.yml arquivo.
Adicionar conda ao caminho do sistema
Em agentes hospedados, o conda não é incluído por defeito no PATH para evitar que a versão do Python entre em conflito com outras versões instaladas. Utilize o comando do agente task.prependpath para disponibilizar conda para todas as etapas posteriores.
- bash: echo "##vso[task.prependpath]$CONDA/bin"
displayName: Add conda to PATH
Criar um ambiente
De argumentos de linha de comando
O conda create comando cria um ambiente com os argumentos que você passa.
- bash: conda create --yes --quiet --name myEnvironment
displayName: Create Anaconda environment
De YAML
Você pode registar um environment.yml arquivo no seu repositório que define a configuração de um ambiente Anaconda.
- script: conda env create --quiet --file environment.yml
displayName: Create Anaconda environment
Nota
Se você usar um agente auto-hospedado e não remover o ambiente no final, receberá um erro na próxima compilação porque o ambiente já existe. Para resolver, remova o ambiente antes de criar um novo com conda env remove --name your-env-name.
Nota
Se você usar agentes auto-hospedados que compartilham armazenamento e executam trabalhos em paralelo usando os mesmos ambientes Anaconda, pode haver conflitos entre esses ambientes. Para corrigir isto, use o argumento --name e um identificador exclusivo, como o valor do argumento, como uma concatenação com a variável de compilação $(Build.BuildNumber).
Instalar pacotes do Anaconda
O YAML a seguir instala o scipy pacote no ambiente conda chamado myEnvironment.
- bash: |
conda activate myEnvironment
conda install --yes --quiet --name myEnvironment scipy
displayName: Install Anaconda packages
Executar etapas de pipeline em um ambiente Anaconda
Nota
Cada etapa de construção é executada em seu próprio processo.
Quando você ativa um ambiente Anaconda, ele edita PATH e faz outras alterações em seu processo atual.
Assim, ative um ambiente Anaconda separadamente para cada etapa.
- bash: |
conda activate myEnvironment
python -m pytest --junitxml=junit/unit-test.xml
displayName: pytest
- task: PublishTestResults@2
inputs:
testResultsFiles: 'junit/*.xml'
condition: succeededOrFailed()
FAQ
Por que estou recebendo um erro "Permissão negada"?
No macOS hospedado, o usuário agente não possui o diretório onde o Miniconda está instalado. Para corrigir este problema, vá para o separador "macOS hospedado" em Adicionar conda ao caminho do sistema.
Porque a minha compilação para de responder numa etapa conda create ou conda install?
Se você não passar --yes, o conda para e aguarda a entrada do usuário.
Por que meu script no Windows está parando depois que ele ativa o ambiente?
No Windows, activate é um script batch. Você deve usar o call comando para retomar a execução do script após a ativação.
Veja exemplos de uso callem uma pipeline.