Olá a todos
O Openredu está agora, na sua ultima versão, já pronto para rodar em Containers Docker. Como isso muda a forma como a configuração para um ambiente de desenvolvimento é feita, fiz esse tutorial para quem estiver desenvolvendo a partir da última versão
Tutorial de Instalação Openredu – Latest
O tutorial a seguir foi feito em um sistema Linux 18.04 LTS, assim que foi instalado.
A versão de desenvolvimento atualmente conta com o uso da plataforma Docker.
Passos:
1. Instalando Docker
2. Instalando Docker-Compose
3. Clonando o repositório ou o seu fork
4. [OPCIONAL] Clonando os repositorios vis e livredoc
5. Construindo o Container Openredu
6. Subindo o Container Openredu
7. Acessando!
1. Instalando o Docker
Pra que serve o Docker?
O docker é uma plataforma de software que permite a criação, o teste e a implantação de aplicações rapidamente. O docker cria pacotes de software em unidades padronizadas chamadas de contêineres que têm tudo o que o software precisa para ser executado, inclusive bibliotecas, ferramentas de sistema, código e runtime. Ao usar o docker, é possível implantar e escalar rapidamente aplicações em qualquer ambiente e ter a certeza de que o seu código será executado.
Fonte: Amazon AWS
Em resumo, podemos ver o Docker como uma espécie de máquina virtual, só que muito mais leve, pois ela não precisa instalar o sistema operacional todo, funcionando em cima do sistema operacional host para obter estruturas essenciais como kernel, mas por si, é um sistema encapsulado independente.
Para instalar, execute no seu terminal:
$ sudo apt-get install docker
2. Instalando o Docker Compose
Pra quê serve o Docker-Compose?
O Docker Compose é uma ferramenta para a criação e execução de múltiplos containers de aplicação. Com o Compose, você usar um arquivo do tipo yaml para definir como será o ambiente de sua aplicação e usando um único comando você criará e iniciará todos os serviços definidos.
Compose é ótimo para desenvolvimento, testes e homologação, bem como para melhorar o fluxo de integração continua.
Fonte: Mundo Docker
Execute no seu terminal:
$ sudo apt-get install docker-compose
3. Clonando o repositório ou o seu fork
Agora, precisamos clonar o repositório do Openredu que desejamos trabalhar. No caso, estou clonando o branch master do repositório oficial, que já está com docker implementado. Você pode clonar um fork que tenha feito a partir do repositório principal, contanto que já esteja com docker:
Para clonar, vá até o diretório que deseja armazenar os arquivos do repositório e digite no seu terminal:
$ git clone https://github.com/Openredu/Openredu
4.[OPCIONAL] Clonando os repositorios vis e livredoc
Caso esteja desenvolvendo também nas APIs externas ‘Vis’ ou ‘Livredoc’, será necessário realizar um clone de seus repositórios e alternar para o branch do docker. Se não desejar, apenas lembre-se de alterar seu arquivo .env para apontar para os endereços dessas APIs, como seguem:
VIS: ‘vis.openredu.org’
LIVREDOC: ‘livredoc.openredu.org’
Não é obrigatório que os dois sejam clonados . Pode-se clonar apenas o repositório VIS e desenvolver nele (alterando a variável de ambinete para o localhost apropriado, mais detalhes no último passo do guia), enquanto o LIVREDOC usado será o do endereço acima.
Para isso, estando no diretório desejado, digite no seu terminal:
$ git clone https://github.com/Openredu/vis
$ git clone https://github.com/Openredu/livredoc
$ cd vis
$ git checkout deploy-docker
$ cd ..
$ cd livredoc
$ git checkout deploy-docker
$ cd ..
O que fizemos acima foi clonar os dois repositórios, entrar em cada um deles e alterar a branch atual de “master” para “deploy-docker”, que é onde temos a aplicação “dockerizada”.
5. Construindo o Container Openredu
Agora, vamos configurar a aplicação para rodar localmente para que possamos desenvolver e também testar:
No seu terminal:
$ cd Openredu
$ sudo docker-compose build
Agora espere o processo de download de todas as dependências do container. Nada será instalado na sua máquina, apenas dentro do container.
Agora execute:
$ sudo docker-compose run --rm app bundle exec rake db:setup
Esse comando cuidará de subir temporariamente os containers que construímos, executar “rake db:setup” para criar todas databases e rodar todos os migrates em development e em test, e depois, como fornecemos a flag --rm, os containers serão removidos.
OBS: Pode ser que a database de testes não seja criada com esse comando. Se não for, rode em seguida:
$ sudo docker-compose run --rm app bundle exec rake db:setup RAILS_ENV=test
6. Subindo o Container Openredu
Finalmente, no seu terminal digite:
$ sudo docker-compose up
O docker-compose se encarregará de criar as networks e volumes necessários. As networks servem para que os containeres do banco e do Openredu comuniquem-se entre si. Os volumes servem para mapear uma seção da maquina host no container. Isso significa que podemos alterar o código do openredu normalmente enquantooooo desenvolvemos, sem a necessidade de subir o container a todo momento para ver as modificações. As mudanças feitas no código do Openredu na máquina local são automaticamente refletidas no container.
[OPCIONAL]
Caso tenha optado por desenvolver também VIS e/ou LIVREDOC, não esqueça de executar, no diretório clonado de cada um:
$ sudo docker-compose build
Para livredoc, em seguida, execute:
$ sudo docker-compose run --rm livredoc bundle exec rake db:setup
Para vis, execute:
$ sudo docker-compose run --rm vis bundle exec rake db:setup
E por fim, para cada um deles, execute:
$ sudo docker-compose up
7. Acessando
Por último vamos conferir se as páginas estão funcionando corretamente. Para isso, acesse pelo seu navegador:
Openredu:
localhost:3000
Livredoc:
localhost:4000
Vis:
localhost:4002
Se tudo estiver ok, devemos ver a tela de login do Openredu, e duas páginas dizendo “You’re on Rails”, pois por serem APIs não necessitam de homepage, ficando então com a página padrão do Rails.
Por enquanto é isso, se tiverem algum problema durante a instalação, ou alguma sugestão para o guia, basta me comunicar, atualizarei o mais rápido possível
Regards,
~hscs