Pergunta

Im pensando em atualizar minhas práticas, e à procura de um pouco de ajuda e conselhos!

Eu faço um monte de trabalho em sites que joomla prazo, oscommerce, Drupal etc e assim que eu criei um monte de componentes personalizados / plugins e hacks etc. Actualmente, cada site tem sua própria pasta na minha configuração xampp. O que eu gostaria de fazer é ter uma configuração padrão de (por exemplo) uma configuração de Joomla e quando eu fazer atualizações mudanças, eu posso fazer algo que atualiza todas as outras pastas que contêm joomla, quase como uma atualização automática?

Im também olhando para usar mais e SVN serviço Aptana IDE tais como Unfuddle para compartilhar meu trabalho com os outros, mas Eu não usei SVN antes e não tenho certeza se é possível fazer o acima usando SVN?

Seria ótimo para ser capaz de trabalhar em um item / núcleo principal e enviar as atualizações para ambas as atualizações locais e para os servidores reais, sem ter que manter lotes de diferentes sites individuais.

Sugestões?

Foi útil?

Solução

Sim, SVN seria uma grande ferramenta para este fim. Guarde o seu código (por exemplo: um componente Joomla personalizado) no controle de origem. Onde quer que você quer usar esse componente, basta fazer uma checkout ou export dessa pasta específica em seu site ao vivo. Aqui está uma maneira você poderia estruturar o seu repositório:

unfuddle.com/myRepo/trunk/com_myComponent
unfuddle.com/myRepo/trunk/com_anotherComponent

Faça login na sua servidor ao vivo via SSH e execute este comando:

> cd path/to/joomla/components
> svn co http://unfuddle.com/myRepo/trunk/com_myComponent

Toda vez que você alterar o código, confirmar as alterações e, em seguida, log de volta para o servidor e executar:

> cd path/to/joomla/components
> svn up com_myComponent

Um verdadeiro benefício disso é que você deve fazer uma atualização e quebrar alguma coisa, você sempre pode rolar de volta para o último "boa" versão conhecida.

Como para automatizar esse processo, você pode estar fora de sorte se for em servidores diferentes. Por várias implantações no mesmo servidor, você poderia facilmente escrever um script shell para executar os comandos acima para cada site / componente. Se você precisava disso para ser totalmente automatizado, você pode até mesmo configurar uma tarefa cron para executar este script todos os dias às 02:00 ou algo assim -. Pessoalmente eu ia ficar com a abordagem manual, mas ainda é uma opção

Para trabalhar localmente com os seus repositórios SVN, eu recomendo olhar TortoiseSVN (se você estiver no Windows): é a maneira mais simples e mais fácil de trabalhar com SVN

.

Outras dicas

Para automatizar as coisas, você poderia usar ganchos SVN para isso. Há um gancho post-commit, então toda vez que você a cometer, o seu script de gancho poderia dizer as outras máquinas para fazer uma atualização SVN para obter o código mais recente.

Para obter mais informações, consulte Controle de Versão com Subversion -. Implementing Repository Hooks

Eu não tenho uma boa resposta para a sua situação, mas eu não acho que Subversion por si só é a resposta.

Esta pergunta aborda algumas das preocupações sobre os mecanismos do Subversion para compartilhamento através de 'projectos'.

Subversion certamente pode lidar com a parte do quebra-cabeça de gerenciamento de código fonte. A distribuição automatizada, bem, eu usaria outra ferramenta.

Capistrano . Eu usei-o um par de vezes e uma vez que você descobrir isso, é muito bom. Com o objetivo de trilhos, mas deve funcionar para qualquer coisa que você precisa para obter o código de um repositório e implantá-lo em servidores diferentes.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top