Implantação Teamwork e Hubot para SEDUC

De MSTECH wiki
Revisão de 14h40min de 30 de março de 2017 por Alexandre.paravani (Discussão | contribs) (Configuração do serviços)

Ir para: navegação, pesquisa

Nessa página será explicado o processo de implantação do serviço de customização do teamwork e hubot para a SEDUC.

Nas referências estão todos os dados que serão explicados nessa tópico.


Servidor

Configuração de hardware e software para execução dos serviços.

Requisitos mínimos

Hardware

  • CPU 1.7 GHz, 6 core, 4GB Ram, 500GB HD
  • SO: Ubuntu 14.04 LTS ( CentOS 6.6+ )

Software

  • Node 4.7.3
  • MongoDB
  • pm2

Teamwork

Gerando pacote

 meteor build ./ --server-only
  • será gerado um pacote custom.tar.gz que será colocado no servidor.

Hubot

Gerando pacote


Configuração do serviços

A configuração será feita através do pm2, serviço de monitoramento e gerenciamento de serviços e processos, além de configurar o auto-start dos serviços de forma automática.

Aqui é preciso que esteja instalado o seguinte itens:node, npm, mongodb, pm2.

É preciso que os passos sejam executado seguindo os tópicos seguintes.

É fortemente sugerido que os serviços e suas pastas sejam criados na pasta opt ( para evitar problemas com atualização de sistema ).

MongoDB

É preciso instalar o mongodb no sistema seguinto as instruções para cada sistema.Se seguido corretamento link anterior, o mongo será configurado para iniciar sozinho.

Agora vamos configurar o banco para gerar os indexes para agilizar a busca.

É preciso pegar o script mongo-custom-index.js na pasta .scripts no repositório( pode estar oculta localmente ).

Para executar faça o seguinte:

  • ir na pasta com o script mongo-custom-index.js.
  • executar verificar se os scripts estão olhando para o banco nomeado rocketchat:
mongo localhost:27017/rocketchat mongo-custom-index.js


Teamwork

Vá para a pasta em que o serviço foi colocado, é preciso fazer as instalação das dependências usando:

npm i

Agora é preciso executar o serviço pm2 start main.js --name teamwork, para validar se o serviço esta rodando execute o comando:

pm2 m

Agora será possível ver os logs do serviço e se está executando corretamente.Após iniciar o serviço é preciso acessar e cadastra um admin.

O primeiro login do teamwork sempre será o admin, e daí em diante será possível fazer o resto das configurações.

Agora é preciso parar o serviço com :

pm2 stop teamwork

vamos criar um arquivo pm2.json na pasta do projeto para configurar o serviço e executa-lo no pm2.

Segue o modelo:

{
 "apps":[
  {
   "name": "teamwork",
   "max_memory_restart": "4096M",
   "log_date_format": "YYYY-MM-DD HH:mm:ss SSS",
   "script": "/opt/teamwork/main.js",
   "out_file": "/var/log/teamwork/app.log",
   "error_file": "/var/log/teamwork/err.log",
   "port": "3000",
   "env": {
    "MONGO_URL": "mongodb://localhost:27017/rocketchat",
    "MONGO_OPLOG_URL": "mongodb://localhost:27017/local",
    "ROOT_URL": "https://comunicador.seduc.rs.gov.br", 
    "PORT": "3000"
   }
  }
 ]
}

Hubot

vamos criar um arquivo pm2.json na pasta do projeto para configurar o serviço e executa-lo no pm2.

Segue o modelo:

{
 "apps":[ 
  {
   "name": "bot",
   "max_memory_restart": "1536M",
   "log_date_format": "YYYY-MM-DD HH:mm:ss SSS",
   "script": "/opt/rockbot/bin/hubot",
   "out_file": "/var/log/bot/app.log",
   "error_file": "/var/log/bot/err.log",
   "port": "1337"
  }
 ]
}


pm2

Será responsável por configurar a máquina para auto-executar os serviços ao reiniciar.

Referências