Mudanças entre as edições de "Implantação Teamwork e Hubot para SEDUC"

De MSTECH wiki
Ir para: navegação, pesquisa
(MongoDB)
(Configuração do serviços)
Linha 35: Linha 35:
  
 
= Configuração do serviços =
 
= Configuração do serviços =
== Teamwork ==
+
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.
Aplicar '''pm2 start main.js''' para executar.
+
 
 +
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 ==
 
== MongoDB ==
É preciso instalar o '''mongodb''' no sistema seguinto as [https://docs.mongodb.com/manual/installation/ instruções para cada sistema].
+
É preciso instalar o '''mongodb''' no sistema seguinto as [https://docs.mongodb.com/manual/installation/ instruções para cada sistema].Se seguido corretamento link anterior, o mongo será configurado para iniciar sozinho.
  
Aplicar configuração de scripts para gerar indexes.
+
Agora vamos configurar o banco para gerar os indexes para agilizar a busca.
  
 
É preciso pegar o script '''[https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js]''' na pasta  [https://gitlab.mstech.com.br/teamwork/custom/tree/develop/.scripts '''.scripts''' no repositório]( pode estar oculta localmente ).
 
É preciso pegar o script '''[https://gitlab.mstech.com.br/teamwork/custom/blob/develop/.scripts/mongo-custom-index.js mongo-custom-index.js]''' na pasta  [https://gitlab.mstech.com.br/teamwork/custom/tree/develop/.scripts '''.scripts''' no repositório]( pode estar oculta localmente ).
Linha 49: Linha 54:
 
* executar verificar se os scripts estão olhando para o banco nomeado '''rocketchat''':
 
* executar verificar se os scripts estão olhando para o banco nomeado '''rocketchat''':
 
  '''mongo localhost:27017/rocketchat mongo-custom-index.js'''
 
  '''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 ==
 
== 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"
 +
  }
 +
  ]
 +
}
  
  

Edição das 14h40min de 30 de março de 2017

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