Como Atualizar Páginas Web Para atualizar Sistema Web através da ferramenta de versionamento é necessário ter cadastro no Sistema de Versionamento e no Sistema de Deploy (implantação). Segue uma breve descrição de como utilizar esses sistemas. Cadastramento no Sistema de Deploy Para ter acesso a ferramente é necessário o cadastramento pelo link [http://deploy.extras.ufg.br/ ?page=registro]. O cadastramento deverá ser liberado manualmente pelo Cercomp através da Equipe Web ou utilize o email web(a)cercomp.ufg.br. Cadastramento no Sistema de Versionamento Cadastramento no sistema de versionamento é feito através de login e senha gerado pelo comando: htpasswd -c -m arquivo.txt nome_do_usuario O mesmo pode ser gerado por um sítio externo [3], por não conhecer a fonte não recomendamos. Como resultado será gerado um usuário e uma senha criptografada veja exemplo abaixo para o usuário teste. Cadastramento no Sistema de Deploy 1 Como Atualizar Páginas Web teste:$apr1$/OJiI...$eqC0tBOiQgQq7dOJRBmvH0 O hash deve ser enviado para Equipe Web. Atualizando seu projeto Ocorreu um erro. Você deverá usar uma ferramenta para baixar o código fonte do seu projeto. Cada sistema operacional possui sua ferramenta. Tente assistir o vídeo em www.youtube.com, ou ative o JavaScript caso ele esteja desativado em seu navegador. Instruções usando Windows Para Windows você pode-se utilizar o Tortoise [0], é preciso um URL para baixá-lo conforme exemplo: URL para Checkout: https://svn.cercomp.ufg.br/auth/<nome_do_seu_projeto> Logo após fazer o checkout do projeto (baixando para sua máquina) fique livre para editá-lo, quanto chegar a uma versão para publicação, faça a submissão (commit) utilizando os icones descritivos no ambiente. Vídeo usando Tortoise no Windows Instruções usando Linux Com o comando abaixo será criado um diretório com o mesmo nome do seu projeto. # aptitude install subversion $ svn co https://svn.cercomp.ufg.br/auth/<nome_do_seu_projeto> Logo depois você pode editar os arquivos do seu projeto. Para remover arquivos versionados use: $ svn del <nome_do_arquivo_ou_diretório> Atualizando seu projeto 2 Como Atualizar Páginas Web Para adicionar arquivos que não estão versionados (novos arquivos) use: $ svn add <nome_do_arquivo_ou_diretório> Quando chegar a uma versão que deseja publicar faça: $ svn commit -m "Mensagem descritiva do que foi feito." A qualquer momento, você pode ver o estado do seu projeto com: $ svn status Enviando para o servidor Com a ferramenta de implantação (deploy) [1] é possível enviar o código fonte que está no sistema de versionamento para o servidor de produção [2]. Para isso, basta logar no sistema, clicar na aba do seu projeto e escolher a versão dequada. Acompanhe as figura no exemplo abaixo: Enviando para o servidor 3 Como Atualizar Páginas Web Clique no botão "Usar dados do login do sistema", se a sua senha do sistema de deploy é a mesma do servidor de versionamento, se não, use o campo login e senha (o mesmo usado para criar o hash). Enviando para o servidor 4 Como Atualizar Páginas Web Atualizar para a revisão mais nova, ou qualquer versão que desejar. Quando atualizar, já estará disponível em produção [2], neste caso do exemplo em: http://projetos.extras.ufg.br/intercom2010co Enviando para o servidor 5 Como Atualizar Páginas Web Diagrama de fluxo Regras 1. Não se deve versionar arquivos que contenham senhas de acesso ao servidor de banco de dados por questões de segurança, esses arquivos devem ser gerados pela aplicação no servidor de produção. 2. Deve ser usado somente um arquivo de configuração para conexão com o banco de dados, além de boa prática isso facilita a manutenção e organização da aplicação. 3. Links devem ser referenciados relativamente possibilitando assim uma maior flexibilidade da aplicação. 4. Se você tiver um arquivo versionado e tentar criar um com o mesmo nome no servidor (através da sua aplicação), vai dar conflito, por outro lado, se você gerar um arquivo no servidor e tentar fazer o deploy de um arquivo com o mesmo nome também vai dar conflito. Em resumo o servidor de produção é passivo, ele não sabe resolver conflitos então evite-os. 5. Não versionar arquivos que contenham em seus nomes caracteres especiais ou acentuáveis. 6. Não usar esse sistema como backup de dados, outros mecanismos são mais efetivos. 7. O módulo de reescrita de URL's (mod_rewrite - .htaccess) não funcionará, porque não usamos apache. Referências [0] http://tortoisesvn.net/downloads [1] http://deploys.extras.ufg.br/ [2] http://projetos.extras.ufg.br/<nome_do_seu_projeto> [3] http://www.htaccesstools.com/htpasswd-generator/ Diagrama de fluxo 6