Criar e publicar um pacote Node.js
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Neste início rápido, você usa um pipeline para criar um pacote Node.js com o npm (Gerenciador de Pacotes do Node) e publicar um artefato de pipeline. Você aprenderá a usar o Azure Pipelines para criar, implantar e testar seus aplicativos JavaScript.
Pré-requisitos
- Uma conta do GitHub, na qual você pode criar um repositório. Crie uma conta no GitHub gratuitamente.
- Uma organização do Azure DevOps. Crie um gratuitamente.
- Um projeto do Azure DevOps. Crie um usando o Assistente de Criação de Projeto do Azure DevOps.
- A capacidade de executar pipelines em agentes hospedados pela Microsoft. Você precisa solicitar a concessão gratuita de empregos paralelos ou comprar um trabalho paralelo.
- Uma conta do GitHub, na qual você pode criar um repositório. Crie uma conta no GitHub gratuitamente.
- Uma organização do Azure DevOps. Crie um gratuitamente.
- Um projeto do Azure DevOps. Crie um usando o Assistente de Criação de Projeto do Azure DevOps.
- Um agente auto-hospedado. Para criar um, consulte Agentes auto-hospedados.
Bifurcar o código de exemplo
Bifurque o exemplo Express.js aplicativo de servidor.
- Vá para o repositório js-e2e-express-server .
- Selecione Bifurcar no canto superior direito da página.
- Selecione sua conta do GitHub. Por padrão, a bifurcação tem o mesmo nome do repositório pai, mas você pode nomeá-la de forma 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, consulte Acesso a repositórios do GitHub.
Criar o pipeline
- No projeto do Azure DevOps, selecione Pipelines>Create Pipeline e, em seguida, selecione GitHub como o local do código-fonte.
- Na tela Selecionar um repositório , selecione o repositório de amostra bifurcado.
- Na página Configurar seu pipeline, selecione Pipeline inicial. O Azure Pipelines gera um arquivo YAML chamado azure-pipelines.yml para o pipeline.
- Selecione o cursor suspenso ao lado de Salvar e executar, selecione Salvar e, em seguida, selecione Salvar novamente. O arquivo é salvo no repositório GitHub bifurcado.
- Na próxima tela, selecione Editar.
Compilar o pacote e publicar um artefato
Edite seu arquivo azure-pipelines.yml da seguinte maneira.
Substitua o conteúdo do arquivo pelo código a seguir. O código atualiza a tarefa do instalador da ferramenta Node.js para usar Node.js versão 16 LTS.
trigger: - main pool: vmImage: 'ubuntu-latest' steps: - task: UseNode@1 inputs: version: '16.x' displayName: 'Install Node.js' - script: | npm install displayName: 'npm install' - script: | npm run build displayName: 'npm build'
Adicione as seguintes novas tarefas ao pipeline:
A tarefa copiar arquivos copia o pacote npm e os arquivos package.json do caminho de download local no agente e os salva em um caminho de preparo de artefato local no agente. Somente as pastas src e public são copiadas.
A tarefa de artefato de pipeline de publicação obtém os arquivos do local de preparo do artefato e os publica como artefatos a serem gerados com builds de pipeline.
- task: CopyFiles@2 inputs: sourceFolder: '$(Build.SourcesDirectory)' contents: | src/* public/* targetFolder: '$(Build.ArtifactStagingDirectory)' displayName: 'Copy project files' - task: PublishPipelineArtifact@1 inputs: artifactName: e2e-server targetPath: '$(Build.ArtifactStagingDirectory)' publishLocation: 'pipeline' displayName: 'Publish npm artifact'
Executar seu pipeline
Selecione Validar e salvar, selecione Salvar, selecione Executar e selecione Executar novamente.
Depois que o pipeline for executado, verifique se o trabalho foi executado com êxito e se você vê um artefato publicado.
Parabéns, você criou e executou com êxito um pipeline que criou e testou um pacote Node.js. 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.