Proposta de organiza\xE7\xE3o do s\xEDtio de desenvolvimento
Esta proposta versa sobre o procedimento de manipula\xE7\xE3o do s\xEDtio de desenvolvimento. Ela \xE9 uma proposta ligada ao
Grupo de Trabalho do MIR/Daileon.
\xCDndice
Proposta
O/A volunt\xE1rio/a que tiver sua conta shell dever\xE1 seguir os seguintes passos para trabalhar com o s\xEDtio de desenvolvimento
- O/A vonlunt\xE1rio/a baixa (para o s\xEDtio de desenvolvimento) os templates do reposit\xF3rio do CMI-Brasil[1] e vai trabalhando nas configura\xE7\xF5es do site de desenvolvimento. Este "download" \xE9 feito usado um sistema de controle de vers\xE3o sobre o qual \xE9 bom que o/a tech tenha conhecimento. Desta maneira, as altera\xE7\xF5es feitas podem ser facilmente desfeitas (apagando o diret\xF3rio criado no momento do "checkout").
- Quando a pessoa finalizou o que tinha para fazer, limpa tudo o que fez, baixa os templates oficiais do CMI e roda o ant para deixar o s\xEDtio de desenvolvimento com o mesmo comportamento do s\xEDtio do CMI.
- Durante esse procedimento, \xE9 recomendado que a pessoa esteja no canal #brasil-tech informando que est\xE1 mexendo no s\xEDtio de desenvolvimento, para evitar que duas pessoas mexam ao mesmo tempo no dev.midiaindependente.org de forma concorrente.
Os/As novos/as volunt\xE1rios/as n\xE3o ter\xE3o acesso de escrita ao reposit\xF3rio de templates e por isso ter\xE3o que editar os arquivos do s\xEDtio de desenvolvimento no servidor. Dessa forma, suas modifica\xE7\xF5es n\xE3o ser\xE3o salvas e o s\xEDtio de desenvolvimento ter\xE1 sempre o aspecto do s\xEDtio do CMI, o que possibilita:
- Que as pessoas possam treinar as configura\xE7\xF5es do MIR sem se preocupar em causar alguma modifica\xE7\xE3o no s\xEDtio do CMI.
- Que todo/a volunt\xE1rio/a que estiver treinando MIR come\xE7ar\xE1 seu trabalho a partir da configura\xE7\xE3o usada no s\xEDtio do CMI, o que n\xE3o impede que cada volunt\xE1rio guarde uma c\xF3pia das suas modifica\xE7\xF5es em sua pasta pessoal.
Scripts
Um conjunto de scripts foi escrito para auxiliar a utiliza\xE7\xE3o do s\xEDtio de desenvolvimento. At\xE9 a data em que isto foi escrito (12/2006), esses scripts se encontravam num
reposit\xF3rio tempor\xE1rio (caso contr\xE1rio, atualize esta documenta\xE7\xE3o). Tal conjunto \xE9 constitu\xEDdo pelos seguintes scripts:
- rebuild: reconstr\xF3i o s\xEDtio de desenvolvimento (mas sem mexer no banco de dados)
- reload: recarrega a aplica\xE7\xE3o do s\xEDtio de desenvolvimento no tomcat
- produce: enfileira tarefas no mir do s\xEDtio de desenvolvimento
Esses scripts devem ficar em algum local do servidor (neste exemplo, assumiremos que eles estejam em
/home/dev/bin). Se eles ainda n\xE3o estiverem instalados, use os seguintes comandos:
mkdir -p /home/dev
cd /home/dev
svn checkout svn://svn.sarava.org/daileon/dev
mv dev bin
Por padr\xE3o, esses scripts usam um
config.properties armazenado em
/root/dev/config.properties.dev e que cont\xE9m as configura\xE7\xF5es do s\xEDtio de desenvolvimento. Quando o s\xEDtio de desenvolvimento for reconstru\xEDdo, o script
rebuild apagar\xE1 a pasta
/var/www/dev/ e construir\xE1 uma nova \xE1rvore do MIR a partir desse arquivo de configura\xE7\xE3o.
Como os/as usu\xE1rios do s\xEDtio de desenvolvimento ser\xE3o novos/as volunt\xE1rios, n\xE3o \xE9 interessante que elas/eles
- Tenham acesso irrestrito ao servidor e possam rodar qualquer comando
- Tenham permiss\xE3o de leitura ao arquivo /root/dev/config.properties.dev para que assim n\xE3o tenham acesso direto ao banco de dados do s\xEDtio de desenvolvimento.
Por isso, \xE9 interressante restringir os comandos que o/a usu\xE1rio podem executar. Isso \xE9 feito atrav\xE9s do
sudoers, primeiramente adicionando as seguintes entradas:
Cmnd_Alias RELOAD_DEV = /home/dev/bin/reload
Cmnd_Alias REBUILD_DEV = /home/dev/bin/rebuild
Cmnd_Alias PRODUCE_DEV = /home/dev/bin/produce
Para que o usu\xE1rio
usuario possa executar os comandos acima, adicione uma entrada para ele no
sudoers:
usuario ALL=(ALL) RELOAD_DEV, REBUILD_DEV, PRODUCE_DEV
Assim, o usu\xE1rio
usuario poder\xE1 reconstruir o s\xEDtio de desenvolvimento com o comando
sudo /home/dev/bin/rebuild
Para que o usu\xE1rio possa enfileirar conte\xFAdo no s\xEDtio de desenvolvimento, basta usar o script
produce. Por exemplo, para requisitar a gera\xE7\xE3o de uma p\xE1gina inicial do s\xEDtio de desenvolviment, usa-se o comando
sudo /home/dev/bin/produce startpage generate
Detalhes da produ\xE7\xE3o de conte\xFAdo via script podem ser encontrados
aqui.
Finalmente, a recarga da parte din\xE2mica do s\xEDtio de desenvolvimento podem ser feitas simplesmente com o comando
sudo /home/dev/bin/reload
--
SilvioRhatto - 15 Dec 2006