Mudanças entre as edições de "Implantação Teamwork e Hubot para SEDUC"
(→COLORS(MINOR)) |
|||
| Linha 25: | Linha 25: | ||
'''''meteor build ./ --server-only''''' | '''''meteor build ./ --server-only''''' | ||
* será gerado um pacote '''custom.tar.gz''' que será colocado no '''servidor'''. | * será gerado um pacote '''custom.tar.gz''' que será colocado no '''servidor'''. | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
== Configurando layout == | == Configurando layout == | ||
| Linha 59: | Linha 52: | ||
=== COLORS(MINOR) === | === COLORS(MINOR) === | ||
Custom Scrollbar Color : #@transparent-darker ou #7F7F7F | Custom Scrollbar Color : #@transparent-darker ou #7F7F7F | ||
| + | |||
| + | |||
| + | = Hubot = | ||
| + | == Gerando pacote == | ||
| + | * é preciso instalar o node e npm na máquina do desenvolvedor, [https://nodejs.org/en/download/releases/ NodeJS Download previous releases]. | ||
| + | * Pegar o arquivos do repositório: [https://gitlab.mstech.com.br/teamwork/hubot/tree/develop 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 = | = Configuração do serviços = | ||
Edição das 15h50min de 29 de maio 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.
Configurando layout
- É preciso fazer manualmente a alterações em adminstrativo/layout
Segue o parametros e cores:
COLORS
content Background color : #FFFFFF Primary Background Color : #0F7043 Primary Font Color : #444444 Primary Action Color : #2F9E68 Secondary Background Color : #F4F4F4 Secondary Font Color : #7F7F7F Secondary Action Color : #FFFFFF Component Color : #EAEAEA Success Color : #35AC19 Pending Color : #FCB316 Error Color : #D30230 Selection Color : #FF0000 theme-color-attention-color : #9C27B0 Secondary Action Color : #FFFFFF Secondary Action Color : #FFFFFF
COLORS(MINOR)
Custom Scrollbar Color : #@transparent-darker ou #7F7F7F
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 ).
Os passos abaixo precisam ser executados como root!
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 teamwork.json na pasta do projeto para configurar o serviço e executa-lo no pm2.
Segue o modelo:
{
"apps":[
{
"name": "teamwork",
"max_memory_restart": "8192M",
"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"
}
}
]
}
Agora execute comando:
pm2 start teamwork.json --watch
Hubot
Vá para a pasta em que o serviço foi colocado.
É preciso instalar as dependências globais do hubot, com o seguinte comando:
npm i -g coffee-script
Será preciso adicionar o caminho correto dentro do arquivo bin/hubot na linha com exec node_modules/.. para exec /opt/<pasta>/node_modules/..
vamos criar um arquivo hubot.json na pasta do projeto para configurar o serviço e executa-lo no pm2.
Segue o modelo:
{
"apps":[
{
"name": "bot",
"max_memory_restart": "2048M",
"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"
}
]
}
Agora execute comando:
pm2 start hubot.json --watch
pm2
Essa parte deverá ser executada somente quando todos os serviços estiverem rodando corretamente e em paralelo !
Agora que os arquivos .json foram criados e executados podemos memorizar esses processos e suas ordem com o comando:
pm2 save
Isso irá salver a lista de processos, e agora vamos configurar o sistema para executar isso todas vez que a máquina for iniciada.
pm2 startup
Após isso reinicie a máquina e execute o comando abaixo para validar se os serviços estão rodando corretamente:
pm2 m ou pm2 status
Configurações do sistema
Caso haja algum problema em que o o primeiro login funciona e o restante não, será preciso habilitar na opções administrativas na parte do LDAP.
O item de Mescar usuários já existentes para permitir o uso de username e email para login.
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