Início rápido
Plataforma EJ
Você pode visitar o site EJ em http://ejplatform.org.
Começando
Primeiro clone do repositório:
$ git clone http://github.com/ejplatform/ej-server/
$ cd ej-server
Se você usar o Docker, você pode iniciar rapidamente o servidor de desenvolvimento usando os comandos:
$ pip3 install invoke --user
$ inv docker-build
$ inv docker up
Para a maioria dos casos, no entanto, recomendamos que você preparar sua máquina com alguns ferramentas extras. Os desenvolvedores podem escolher entre Docker ou Poetry/Virtualenv para o dia a dia de desenvolvimento. Em ambos os casos, recomendamos que você tenha o Invoke instalado em sua máquina para facilitar a execução de refrões.
Desenvolvimento local (virtualenv)
Esta é uma lista de pacotes que você deveria ter instalado localmente antes de começarmos:
- Python 3.6+ (Python 3.7 é recomendado)
- Virtualenv ou virtualenvwrapper
- Invoke (>= 1.0)
- Node.js e npm
- Gettext do GNU
- Docker (opcional, para implantação)
Você pode instalar todas as dependências nas variantes Ubuntu/Debian recentes com os seguintes comandos:
$ sudo apt install python3-dev python3-pip virtualenvwrapper \
npm gettext docker.io docker-compose
$ sudo pip3 install invoke
Uma vez que tudo está instalado, crie e ative seu virtualenv. Vamos criar um novo virtualenv chamado "ej”:
$ bash
$ mkvirtualenv ej -p /usr/bin/python3
Este comando cria e ativa o virtualenv. Quando você quiser trabalhar com o repositório
posteriormente, ative o env virtual usando o comando workon ej
.
Os passos seguintes são tratados pelo script configure.sh:
$ sh configure.sh
Esta tarefa cria um banco de dados de testes com algumas conversas, usuários, comentários e votos. Particularmente, ele cria automaticamente um usuário admin (senha: admin, email: admin @ admin . com ) um usuário regular (senha: usuário, email: usuário @ usuário . com ).
Isto pode levar bastante tempo. Pegue uma xícara de café enquanto ele baixa e instala
todas as dependências. Se tudo funcionar como esperado, você poderá executar
o servidor usando o comando inv run
após terminar.
Executando
A menos que você prefira digitar comandos longos de gerenciamento do Django, use o Invoke para iniciar o servidor dev:
$ inv run
Você pode controlar várias configurações usando variáveis de ambiente. Para executar usando a tradução portuguesa brasileira, por exemplo, basta exportar a configuração correta para COUNTRY:
$ export COUNTRY=brasil
Dependendo de suas configurações de rede, você pode precisar definir a configuração ALLOWED_HOSTS para sua instalação do Django. Essa é uma configuração de segurança básica que controla quais hosts podem atender requisições. Exceto em configurações de produção, você pode definir a variável de ambiente DJANGO_ALLOWED_HOSTS como * para permitir conexões em qualquer topologia de rede.
$ DJANGO_ALLOWED_HOSTS=*
Invocar gerencia muitas outras tarefas importantes, você pode descobri-las usando:
$ inv -l
Se você está fazendo alterações na base de código EJ, não se esqueça de executar testes com frequência. O EJ usa o Pytest:
$ pytest
Documentação ¶
Documentação pode ser atualizada com $ inv docs e estará disponível no diretório build/docs/.
Alterando tema
Os comandos anteriores constroem EJ usando o tema "default". O EJ aceita temas adicionais e vem atualmente pré-instalado com o tema alternativo "cpa". O primeiro passo é reconstruir os recursos estáticos:
$ inv sass -t cpa js db-assets
Agora execute o servidor usando o sinalizador –theme:
$ inv run -t cpa
Usando o docker ¶
Se você quiser usar o docker, crie os contêineres e exercute o Docker Compose:
$ sudo docker-compose -f docker/deploy/docker-compose.yml build
$ sudo docker-compose -f docker/docker-compose.yml up -d
Após o comando, ej-server pode ser acessado em http://localhost:8000.
Em algum momento, você provavelmente vai querer executar comandos dentro do contêiner. É possível abrir um shell bash no contêiner principal "web" com:
$ sudo docker-compose -f docker/docker-compose.yml run web bash
Na verdade, ele se integra com invoke e podemos substituir “bash” por qualquer sequência de tarefas. Por exemplo, podemos migrar o banco de dados e executar testes depois fazendo:
$ sudo docker-compose -f docker/docker-compose.yml exec web db tests
Se você tiver o Invoke instalado na máquina de host, use a versão curta:
$ inv docker-run dev