Pergunta

Eu estou no processo de criação de um ambiente completo de desenvolvimento web. Por agora, existem dois programadores, um dedicado a programação do servidor (C #, .NET) e um dedicado ao desenvolvimento frontend (HTML, CSS, XSLT).

Cada um tem uma instalação do MS Visual Studio 2008 e código compartilhado via Visual Source Safe 2005. ambos os arquivos de verificação geral e desenvolver localmente.

Tenho a configuração de um teste-servidor onde está o plano que o fundiram, e testado, o código deve finalmente acabar, e esse servidor deve allways ser a versão "correta".

Cada um dos 3 instalações compartilham os mesmos bancos de dados.

Eu acho que essa configuração deve escalar um pouco, como eu estou me preparando para mais desenvolvedores, mas temos um monte de problemas com a sincronização de arquivos e de fácil acesso para mudanças rápidas. Muitas vezes é preciso mudar alguns layout e designs muito rapidamente e acabam copiando arquivos para o testserver manualmente (Eu não quero / # código-arquivos .NET C no servidor web), eo site falhar: - (

Nós usamos um CMS padrão para construir todo o nosso trabalho frontend, e ele realmente atrasa as coisas se este está incluído na fonte de segurança.

Gostaria todo o nosso trabalho frontend a ser mantida completamente separada do nosso código backend por isso é fácil de fazer alterações.

Por exemplo. gostaríamos de fazer algumas mudanças no projeto e implantá-lo rapidamente para o nosso ambiente de produção, sem pensar sobre o código .NET.

Existem anyting que estou em falta, ou o que é a melhor prática para a criação de um ambiente de desenvolvimento web?

Olhando para a frente para alguma ajuda / experiance: -)

/ Thomas

Foi útil?

Solução

Você provavelmente deve olhar para um sistema de controle de versão mais capaz. SVN tem grande apoio ferramenta (incluindo AnkhSVN e VisualSVN para VS2008 integração), e sistemas de controle de versão distribuído como o Mercurial, Git, ou Bazaar lhe dará ainda mais opções e o preço de suporte muito mais básico de ferramentas.

Você pode precisar de fácil ramificação, e gestão dos recursos relevantes usando o sistema de controle de versão é feita muito mais fácil se você pode implantá-los facilmente para a produção (ou seja, executar "svn up").

Outras dicas

Eu não posso ajudá-lo com informações sobre como lidar com o conteúdo CMS, mas eu tenho a configuração ou usado um par de buildservers.

Tendo trabalhado com Visual Source Safe em um monte de projetos e Team Foundation Server em alguns, eu ficar longe dela, se puder.

Nossa buildserver recente consiste de scripts Nant que verificam a origem de um Subversion-repositório. A construção em si é feito pelo MSBuild. O resultado da compilação é então xcopied ao palco e produção.

Deve haver uma maneira fácil de transferir alterações de banco de dados de desenvolvimento para o estágio e produção. Temos uma ferramenta ( http://www.codeplex.com/ScriptDB ) que os scripts do dev- Base de dados. O resultado é verificado em Subversion. É fácil ver o que mudou no log do Subversion.

Cada um dos 3 instalações compartilham os mesmos bancos de dados.

Esta parece ser uma má decisão. Se dev1, dev2 e teste estão todos usando o mesmo banco de dados, então como pode dev1 experimentar mudar o esquema sem interferir com dev2 e teste (assumindo que o código para trabalhar com o esquema experimental não é verificada até o momento).

Além disso, a DB se torna um ponto único de falha, por isso, se alguém acidentalmente exclusões / trunca uma tabela crucial, então todas as moagens de trabalho a um impasse.

Idealmente, cada ambiente deve ter a sua própria DB. Eu acho que se você estiver usando um DB não-livre como Oracle, então você pode não ser capaz de dar ao luxo de dar a cada ambiente é próprio servidor, mas pelo menos cada ambiente deve ter o seu próprio esquema.

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