Esse é o repositório do Mapa Cultural de Pernambuco
- start.sh - inicializa o ambiente de produçao/staging
- restart.sh - reinicializa o ambiente de produçao/staging
- stop.sh - desliga o ambiente de produçao/staging
- update.sh - atualiza o ambiente de produção
- logs.sh - exibe o output do docker-composer de produção, para visualização dos logs
- bash.sh - acessa o terminal do container do Mapas
- psql.sh - acessa o console psql do banco de dados
- init-letsencrypt.sh - script para auxiliar a instalação do let's encrypt
- compose/ - arquivos de configuração e outros utilizados pelo docker-compose
- common/ - arquivos comuns aos ambientes de desenvolvimento e produção
- local/ - arquivos exclusivamente para o ambiente de desenvolvimento
- production/ - arquivos exclusivamente para o ambiente de produção
- dev-scripts/ - scripts auxiliares para o desenvolvimento
- start-dev.sh - script que inicializa o ambiente de desenvolvimento
- bash.sh - entra no container da aplicação
- shell.sh - entra no shell do mapas culturais
- psql.sh - entra no banco de dados da aplicação
- docker-compose.local.yml - arquivo de definição do docker-compose utilizado pelos scripts acima
- plugins - pasta com os plugins desenvolvidos exclusivamente para o projeto
- SamplePlugin - esqueleto de plugin para demostração e para servir de base para o desenvolvimento de outros plugins
- themes - pasta com os temas desenvolvidos exclusivaente para o projeto
- SampleTheme - esqueleto de tema filho de Subsite para demostração e para servir de base para o desenvolvimento de outros temas
Antes de tudo certifique-se de ter os pacotes git, docker e docker-compose instalados e estar utilizando sistema operacional Linux ou MacOS.
Nos exemplos é usado o comando sudo para que os scripts tenham os privilégios requeridos pelo docker.
Crie um repositório vazio no github ou gitlab (usarei de exemplo o nome https://github.com/organizacao/meu-mapas)
Clone o repositório do projeto base no seu computador
$ git clone https://github.com/mapasculturais/mapasculturais-base-project.git meu-mapas
$ cd meu-mapas
Substitua a url do remote origin para a url de seu repositório
meu-mapas/$ git remote set-url origin https://github.com/organizacao/meu-mapas
# ou, se você tiver sua chave no github
meu-mapas/$ git remote set-url origin [email protected]:organizacao/meu-mapas
Dê git push no repositório para enviar a versão inicial para seu repositório vazio.
meu-mapas/$ git push
To github.com:organizacao/meu-mapas
* [new branch] master -> master
Para subir o ambiente de desenvolvimento basta entrar na pasta dev-scripts
e rodar o script start-dev.sh
.
mapacultural/dev-scripts/$ sudo ./start-dev.sh
acesse no seu navegador http://localhost/
Este ambiente roda com o built-in web server do PHP, o que possibilita que seja utilizado o PsySH, um console interativo para debug e desenvolvimento.
no lugar desejado, adicione a linha eval(\psy\sh());
e você obterá um console. Ctrl + D
para continuar a execução do código.
Para parar o ambiente de desenvolvimento usar as teclas Ctrl + C
O banco de dados inicial inclui um usuário de role saasSuperAdmin
de id 1
e email Admin@local
.
Este usuário possui permissão de criar, modificar e deletar qualquer objeto do banco.
- email:
Admin@local
- senha:
mapas123
Usaremos para exemplo o nome de tema NovoTema
- copie a pasta
themes/SampleTheme
parathemes/NovoTema
;
meu-mapas/themes$ cp -a SamplesTheme NovoTema
- edite o arquivo
dev-scripts/docker-compose.yml
adicionando uma linha na seção volumes para o tema:
- ../themes/NovoTema:/var/www/html/protected/application/themes/NovoTema
- edite o arquivo
themes/NovoTema/Theme.php
e substitua o namespace (linha 2) porNovoTema
:
<?php
namespace NovoTema;
Usaremos para exemplo o seguinte nome para o plugin: MeuPlugin
- copie a pasta
plugins/SamplePlugin
paraplugins/MeuPlugin
;
meu-mapas/plugins$ cp -a SamplesTheme MeuPlugin
- edite o arquivo
dev-scripts/docker-compose.yml
adicionando uma linha na seção volumes para o tema:
- ../plugins/MeuPlugin:/var/www/html/protected/application/plugins/MeuPlugin
- edite o arquivo
plugins/MeuPlugin/Plugin.php
e substitua o namespace (linha 2) porMeuPlugin
:
<?php
namespace MeuPlugin;
Para subir o ambiente de produção é necessário criar o arquivo .env
baseado no arquivo .env_sample
.