Instalando o Strider CD no Jelastic

O Strider é um sistema de código aberto para integração e deploy contínuos, semelhante ao bem conhecido Jenkins. Ao contrário deste, o Strider é escrito em Nodejs e por conta disso, conta com a capacidade do Node de executar os testes de maneira assíncrona, sendo a velocidade, um dos seus principais diferenciais.

Criação do ambiente

Para instalá-lo no Jelastic Locaweb, primeiro vamos criar o ambiente onde a aplicação irá rodar.

Para isso clicamos no botão Novo ambiente, na aba Node.js e escolhemos um nó com Node (escolhi a versão 0.4.2 e outro com MongoDB 3, conforme a imagem acima.

Certifique-se de colocar pelo menos 20 cloudlets como limite de seu nó rodando Node, de forma que o Strider tenha condições de executar todos os testes de maneira eficiente nos momentos de pico.

Deploy e Configuração

Faça o deploy da aplicação via Git, adicionando o repositório público do projeto no Github como de costume.

Após esta etapa, faremos um acesso SSH no Jelastic (se você ainda não sabe como fazer um acesso SSH no Jelastic, assista ao episódio 2 do TecnoPapo) para configurar algumas opções.

A primeira delas é configurar o NPM para instalar os módulos globais em nosso user space. Para isso, digite o comando npm config set prefix ~/npm no terminal.

Agora é preciso colocar o caminho ~/npm em nosso PATH. Para isso iremos criar um arquivo de configuração do bash com algumas variáveis de ambiente.

Para isso, eu costumo usar o VIM com vi ~/.bashrc, mas você também pode utilizar o NANO, caso sinta-se mais confortável. No arquivo de exemplo abaixo, modificamos o PATH para incluir o diretório com nossos módulos globais do NPM e definimos as variáveis que são necessárias para a execução do Strider.

PATH="$PATH:~/npm/bin"
SERVER_NAME="http://seu_strider.jelasticlw.com.br"
PORT=8080
DB_URI="admin:senha@host:27017"

Os detalhes de acesso ao MongoDB necessários para definir a variável DB_URI serão enviados para o seu email no momento do provisionamento do Mongo.

Se quiser que o Strider envie mensagens automáticas de email (como status dos testes realizados ou mesmo recuperação de senha), é preciso configurar, no mesmo arquivo, os dados de envio para um servidor SMTP.

Neste caso, sugiro o uso da plataforma de emails transacionais da Locaweb. A configuração de exemplo encontra-se abaixo:

SMTP_HOST="smtp.smtplw.com.br"
SMTP_PORT="465"
SMTP_USER="usuario"
SMTP_PASS="senha"
SMTP_FROM="noreply@meusite.com.br"

Agora é hora reiniciar o nó para que as configurações tenham efeito. Feito isso, podemos nos certificar de que temos todas as dependências instaladas digitando npm i via SSH.

Executando o Strider

Antes de executarmos o Strider pela primeira vez, é hora de criarmos o primeiro usuário, digitando node bin/strider addUser.

Exemplo:

$ node bin/strider addUser
Enter email []: strider@exemplo.com.br
Is admin? (y/n) [n]: y
Enter password []: *******

Email:    strider@exemplo.com.br
Password: ****
isAdmin:  true
OK? (y/n) [y]:
22 Oct 21:21:01 - info: Connecting to MongoDB URL: mongodb://localhost/strider-foss
22 Oct 21:21:01 - info: User added successfully! Enjoy.

Finalmente podemos iniciar o Strider e logar com o usuário recém criado:

NODE_ENV=production npm start

Para inicializar a aplicação de forma permanente, você pode utilizar o forever, PM2, ou mesmo colocar o comando acima em uma task do cron.

Aqui um screenshot da tela de login do Strider para se familiarizar com a mesma:

Bônus: fazendo o deploy no Jelastic com o Strider

Para que o Strider faça o deploy de seus projetos no Jelastic automaticamente depois que seus testes passarem, é possível utilizar o plugin strider-ssh-deploy, ou mesmo a integração com o Git, permitindo que o Strider faça o "merge" dos commits em um branch "deploy", por exemplo, que esteja configurado no Jelastic.

Se você gostou ou tem interesse em ver como fazer, isso, deixe o seu comentário abaixo.