Compartilhar via


Criar e publicar um pacote Node.js

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Você pode criar, testar e implantar aplicativos Node.js como parte do sistema de CI/CD (integração contínua e entrega contínua) do Azure Pipelines. Saiba como usar um pipeline para criar um pacote Node.js com o Gerenciador de Pacotes do Node (npm) e publicar um artefato de pipeline.

O pipeline de exemplo automatiza o processo de compilação, teste e empacotamento de um aplicativo Node.js, tornando-o pronto para implantação ou distribuição adicionais.

Pré-requisitos

Produto Requisitos
Azure DevOps - Um projeto do Azure DevOps.
– Capacidade de executar pipelines em agentes hospedados pela Microsoft. Você pode comprar um trabalho paralelo ou solicitar uma camada gratuita.
– Conhecimento básico do YAML e do 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 build definida como Permitir. Os membros do grupo Administradores do Projeto podem gerenciar pipelines.
    – Para criar conexões de serviço: você deve ter a função Administrador ou Criador para conexões de serviço.
GitHub - Uma conta do GitHub .
– Uma conexão de serviço do GitHub para autorizar o Azure Pipelines.
Azul Uma assinatura do Azure.
Produto Requisitos
Azure DevOps - Um projeto do Azure DevOps.
– Um agente auto-hospedado. Para criar um, consulte Agentes auto-hospedados.
– Conhecimento básico do YAML e do 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 build definida como Permitir. Os membros do grupo Administradores do Projeto podem gerenciar pipelines.
    – Para criar conexões de serviço: você deve ter a função Administrador ou Criador para conexões de serviço.
GitHub - Uma conta do GitHub .
– Uma conexão de serviço do GitHub para autorizar o Azure Pipelines.
Azul Uma assinatura do Azure.

Bifurcar o código de exemplo

Bifurque o aplicativo de servidor de exemplo Express.js.

  1. Vá para o repositório js-e2e-express-server .
  2. Selecione Fork no canto superior direito da página.
  3. Selecione sua conta do GitHub. Por padrão, a bifurcação é nomeada da mesma forma que o repositório pai, mas você pode dar a ele um nome diferente.

Importante

Durante os procedimentos a seguir, você pode ser solicitado a criar uma conexão de serviço do GitHub ou redirecionado para o GitHub para entrar, instalar o Azure Pipelines ou autorizar o Azure Pipelines. Siga as instruções na tela para concluir o processo. Para obter mais informações, confira Acesso ao repositórios do GitHub.

Criar o pipeline

  1. Em seu projeto do Azure DevOps, selecione Pipelines>Criar Pipeline e, em seguida, selecione GitHub como o local do código-fonte.
  2. Na tela Selecionar um repositório, selecione o repositório de sua amostra bifurcado.
  3. Na página Configurar seu pipeline, selecione Pipeline inicial. O Azure Pipelines gera um arquivo YAML chamado azure-pipelines.yml para seu pipeline.
  4. Selecione a seta suspensa ao lado de Salvar e executar, selecione Salvar e, em seguida, selecione Salvar novamente. O arquivo é salvo no repositório do GitHub bifurcado.
  5. Na próxima tela, selecione Editar.

Compilar o pacote e publicar um artefato

Edite o arquivo azure-pipelines.yml da seguinte maneira.

  1. Substitua o conteúdo do arquivo pelo código a seguir.

    trigger:
      - main
    
    pool:
      vmImage: 'ubuntu-latest'
    
    variables:
      nodeVersion: '18.x'
    
    steps:
      # Install Node.js
      - task: UseNode@1
        inputs:
          version: $(nodeVersion)
        displayName: 'Install Node.js'
    
      # Install dependencies
      - script: |
          npm install
        displayName: 'Install dependencies'
    
      # Build the project
      - script: |
          npm run build
        displayName: 'Build project'
    
      # Run tests
      - script: |
          npm test
        displayName: 'Run tests'
    
      # Copy project files to artifact staging directory
      - task: CopyFiles@2
        inputs:
          sourceFolder: '$(Build.SourcesDirectory)'
          contents: |
            src/**
            public/**
          targetFolder: '$(Build.ArtifactStagingDirectory)'
        displayName: 'Copy project files'
    
      # Publish pipeline artifact
      - task: PublishPipelineArtifact@1
        inputs:
          artifactName: 'nodejs-app'
          targetPath: '$(Build.ArtifactStagingDirectory)'
        displayName: 'Publish pipeline artifact'
    

Na pipeline atualizada, você irá:

  • Instalar Node.js: a tarefa UseNode@1 instala a versão de Node.js especificada (18.x).
  • Instalar dependências: o comando de instalação do npm instala as dependências necessárias para o projeto Node.js.
  • Compile o projeto: o comando de build de execução npm cria o projeto Node.js.
  • Executar Testes: o comando de teste npm executa o conjunto de testes do projeto.
  • Copiar arquivos: a tarefa CopyFiles@2 copia os arquivos de projeto necessários (por exemplo, src/** e public/**) para o diretório de preparo do artefato.
  • Publicar artefato de pipeline: a tarefa PublishPipelineArtifact@1 publica os arquivos do diretório de estágio de artefatos como um artefato de pipeline chamado 'nodejs-app'.

Executar seu pipeline

Selecione Validar e salvar e, em seguida, Salvar, Executar e Executar novamente.

Depois que o pipeline for executado, verifique se o trabalho foi executado com êxito e se você vê um artefato publicado.

Captura de tela da execução bem-sucedida do pipeline com um artefato.

Parabéns, você criou e executou com êxito um pipeline que criou e testou um pacote Node.js. Para estender o pipeline, você pode:

Próximas etapas