Veremos como você pode começar facilmente com Jenkins e o Node.js podem trabalhar juntos para permitir a implantação contínua com base nas alterações feitas em um repositório do GitHub.
Então, vamos descobrir o plano aqui. Vamos usar um repositório React JS já existente de nosso popular workshop "React From Scratch" (Reagir do zero). Quando são feitas alterações nesse repositório, o Jenkins pode compilar o aplicativo e implantá-lo ou executá-lo. Devido à natureza do Node.js, o processo de compilação garantirá que os módulos NPM estejam presentes.
Requisitos do projeto
Os seguintes requisitos de software devem ser atendidos para que este guia possa ser usado:
Como este é um pipeline do Node.js com o Jenkins, precisaremos da versão mais recente do Node.js instalada. Como o Jenkins é um aplicativo Java, também precisaremos do Java instalado. Meu exemplo de pipeline Jenkins para aplicativo Node.js não usa o Couchbase, o que garantirá que qualquer pessoa possa usar este guia com facilidade.
Configuração do Jenkins com os plug-ins necessários
A esta altura, você já deve ter feito o download do Jenkins. Se não tiver feito, vá em frente e obtenha o arquivo WAR no site do Jenkins.
Para iniciar o Jenkins, execute o seguinte comando em seu prompt de comando ou terminal:
1 |
java -jar jenkins.war -httpPort=8080 |
Isso tornará o Jenkins acessível a partir de um navegador da Web em http://localhost:8080. Após a primeira inicialização, você será colocado em um assistente de configuração.
A primeira tela desse assistente de configuração solicitará a senha gerada pelo Jenkins. Encontre-a no local apresentado na tela.
A segunda tela perguntará quais plug-ins você deseja instalar.
Por enquanto, vamos instalar os plug-ins sugeridos. Instalaremos plug-ins adicionais mais tarde.
A terceira tela solicitará a criação do nosso primeiro usuário administrativo. Tecnicamente, a senha gerada que você está usando é um usuário administrativo, mas talvez você queira criar uma nova.
Depois de criar um usuário, o Jenkins está pronto para funcionar. No entanto, precisaremos de outro plugin e ele pode variar dependendo de como desejamos criar e implantar o aplicativo Node.js.
Na tela principal do Jenkins, selecione Gerenciar o Jenkins para ver uma lista de opções de administração.
O que nos interessa é gerenciar os plug-ins disponíveis. Depois de escolher Gerenciar plug-ins queremos procurar e instalar um plug-in com o nome de PostBuildScript.
Esse plug-in nos permite executar comandos ou scripts do shell após a conclusão do estágio de compilação. Neste exemplo de pipeline do Node.js e do Jenkins, estaremos construindo e implantando no mesmo host, e podemos executar tudo localmente por meio de comandos do shell. Em um ambiente de produção, talvez você queira usar o plug-in SSH para migrar o código para um servidor remoto e executá-lo lá.
Com os plug-ins disponíveis, vamos criar nosso fluxo de trabalho de implantação contínua para o Node.js no Jenkins.
Criação de um fluxo de trabalho de implantação contínua do Jenkins para Node.js
Só para reiterar, nosso objetivo aqui é criar um fluxo de trabalho que extraia um projeto do GitHub, construa-o instalando todas as dependências e implemente-o executando-o em um servidor, neste caso, nossa máquina local.
Comece criando um novo item, também conhecido como um novo trabalho ou fluxo de trabalho.
Vamos criar um Projeto Freestyle. Há três coisas que precisam ser feitas na próxima tela.
A fonte do nosso espaço de trabalho virá do GitHub. No seu próprio projeto, ela pode vir de outro lugar, mas, para este, precisamos definir nossas informações de controle de origem. Você também pode selecionar o ramo se o seu projeto não estiver usando o ramo mestre.
O projeto do GitHub é um projeto que eu já havia criado e escrito sobre ele, como mencionado anteriormente. O projeto pode ser encontrado em:
1 |
https://github.com/couchbaselabs/space-x-app |
Agora, em um ambiente de produção, você provavelmente desejará configurar ganchos do GitHub para acionar o processo de trabalho, mas como tudo isso está no host local, o GitHub não permitirá isso. Em vez disso, acionaremos o trabalho manualmente.
Depois de configurar a seção de controle de origem, precisaremos configurar a etapa de compilação. Para o Node.js, a compilação consiste apenas na instalação de dependências, mas você poderia facilmente ter testes de unidade ou outros testes nessa etapa. Na seção Projeto Jenkins JavaA etapa de compilação é mais complexa. Neste exemplo do Node.js, temos apenas o seguinte:
1 |
npm install |
Por fim, podemos definir o que acontece depois que o projeto é construído.
Neste exemplo, implantaremos o aplicativo localmente em nosso computador. Provavelmente não é o caso em seu cenário de produção.
Portanto, você notará que, em nossa etapa pós-compilação, temos os seguintes comandos:
1 |
npm start |
Vá em frente e tente executar o trabalho escolhendo Construir agora da lista de opções. Ele deve obter o projeto, instalar as dependências e disponibilizar o projeto em http://localhost:3000. Apenas certifique-se de que o Couchbase Server esteja em execução para esse projeto, caso contrário, você receberá erros.
Conclusão
Você acabou de ver como usar o Jenkins para implantar continuamente seus aplicativos Node.js com base nas alterações que foram feitas no GitHub. Uma versão semelhante deste guia foi criada para aplicativos Java chamados, Criar um pipeline de implantação contínua com Jenkins e Javaque vale a pena ser revisado se você for um desenvolvedor Java.
Deseja informações sobre usando Node.js com o Couchbase NoSQL? Dê uma olhada na seção Portal do desenvolvedor do Couchbase para obter documentação e exemplos.
[...] 5. Criar um pipeline de implantação contínua com Node.js e Jenkins [...]