Mudanças entre as edições de "Implantação Teamwork e Hubot para SEDUC"
(→MongoDB) |
(→Configuração do serviços) |
||
Linha 35: | Linha 35: | ||
= Configuração do serviços = | = 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 == | == 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. |
− | + | 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.
Índice
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
- é preciso instalar o git na máquina do desenvolvedor, Git - downloads.
- é preciso instalar o meteor na máquina do desenvolvedor, para que possamos fazer o build do projeto ( Repośitório Teamwork).
- Pegar o arquivos do repositório: git@gitlab.mstech.com.br:teamwork/custom.git
- executa em um cli( terminal ), na raiz do projeto, o comando de build de pacote:
meteor build ./ --server-only
- será gerado um pacote custom.tar.gz que será colocado no servidor.
Hubot
Gerando pacote
- é preciso instalar o node e npm na máquina do desenvolvedor, NodeJS Download previous releases.
- Pegar o arquivos do repositório: git@gitlab.mstech.com.br:teamwork/custom.git.
- executar: npm i
- gerar um zip com toda a pasta raiz e colocar no servidor.
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
- NodeJS Download previous releases
- Repositório Hubot
- Repośitório Teamwork
- Documentação de instalação, configuração, pré-requisitos, build e deploy do Teamwork
- Rocket.Chat Docs
- https://rocket.chat/docs/installation/minimum-requirements Minimum Requirements for Server Deployment]
- Executando script no mongodb