Pergunta

Eu vi pedaços do problema resolvido na net, mas eu ainda estou confuso, então eu pensei que eu ia pedir a pessoas inteligentes em Excesso de Pilha sobre isso.

Somos uma pequena empresa e, no momento, o nosso fluxo de trabalho a partir de desenvolvimento -> produção envolve ftp-ing e apenas carregando o dev código.

O dev código ESTÁ sob a subversão de controle - embora não tenhamos aproveitado troncos/tags/branches desde que eu não tenho uma boa idéia de como melhor usar essa estrutura.Eu sinto que deve haver uma perfeita integração com o live site que não necessitam de me copiar-colar arquivos e pastas.

Veja alguns detalhes:- o desenvolvimento com CakePHP + MySQL hospedado no Media Temple (gs) - os desenvolvedores usam o Mac OS (Coda) e Windows (Dreamweaver)

Então, a minha pergunta é:como você configurar uma adequada escalável de fluxo de trabalho?

Foi útil?

Solução

Seu fluxo de trabalho parece adequado para uma pequena organização que não possui controle de qualidade. Eu aconselharia você a investir alguns recursos em

1) Construa versões de produção e tenha um esquema de versão para que você possa rastrear seus lançamentos de produção com precisão. Marque cada versão para que você possa rastreá -lo.

2) Construa um instalador. Não recorra a pastas de copiar manualmente, porque você pode cometer um erro. Um instalador também facilita o rastreamento quando algo dá errado na produção.

3) Faça algum controle de qualidade na produção antes de implantar. Até um pouco de controle de qualidade ajuda muito. Os desenvolvedores não são bons testadores, pois podem ser tendenciosos para as "características" do programa.

4) Não se preocupe com galhos ainda até que você realmente precise usá -lo. Só então ficará claro qual estrutura você precisa. A subversão livro Vermelho Tem algumas idéias sobre como estruturar seus ramos.

Outras dicas

Uma maneira de fazer isso no passado é que o código de produção seja realmente um cliente de subversão ao vivo, retirando a filial de 'produção'.

Então você faz seu trabalho como de costume na filial de desenvolvimento e, sempre que estiver pronto, corta uma cópia para a filial de produção. Sincronize os servidores de produção e você está ao vivo. Se algo der errado, você sempre poderá se ressuscar à versão mais antiga.

Para pontos extras, você pode adicionar um ramo de estadiamento, para poder pegar todas as coisas que mudaram que não são em seu código. Em seguida, você os adiciona a um script de implantação que ajustará os sistemas de produção conforme necessário.

Eu acho que a principal coisa a se considerar é a de incluir o máximo de processo e fluxo de trabalho que vai melhorar a qualidade do código e reduzir o seu esforço para implantar.O importante é começar a criar algumas dessas coisas quando sua base de código, tem se estabeleceram.Nos primeiros dias, quando tudo está mudando rapidamente você estará gastando mais tempo atualizando os scripts que você estará economizando com os scripts.

Eu recomendo as seguintes coisas:

  1. Criar um sistema automatizado de script de compilação. Existem diferentes tecnologias e linguagens de script que pode ser usado (eu prefiro Ant) para extrair os arquivos de controle de origem, incrementar automaticamente números de versão, adicionar tags e criar a implantar pacotes.Isso pode levar uma grande quantidade de esforço para a instalação e desvendar as tarefas que os desenvolvedores estão fazendo atualmente, mas isso vai pagar muito em longo prazo.Ele deve libertar seus desenvolvedores do repetitiva tarefa de criar e permitir-lhes concentrar-se em resolver os seus problemas técnicos.Como você está ciente, os desenvolvedores ficar entediado fazendo a mesma coisa repetidamente e quando você se cansar de você começar a fazer erros.

  2. Instalação automatizada.Este é um marginal vantagem enquanto as coisas ainda estão em uma rápida fase de desenvolvimento, mas, a longo prazo, ele vai liberar recursos que poderiam ser melhor gasto em outro lugar.No mínimo, você deve ter um pacote de instalação e etapas de instalação para implementar seu código.

  3. Ambiente De Teste.Você poderia argumentar que isso não é necessário, até que sua base de usuários é grande o suficiente para que eles começam a sqawking quando o sistema de produção desaparece quando você implementar o código.É importante ter um sistema que permite que você teste suas alterações, sem o incômodo de sua base de usuários.Mas, claro, isso também requer algum QA esforço.Você definitivamente precisa de alguns testes antes da implantação.Os desenvolvedores sempre assumir que eles estão certos e nunca perdi nada, mas eles nunca devem ser acreditado.Há sempre um caminho de código diferente ou alguma nova permutação de cliques que eles nunca pensou.

  4. Cópia de segurança de sua SVN.Este deve ir sem dizer, mas eu trabalhei para uma empresa onde o nosso repositório de código-fonte não era apoiado por mais de dois anos.Você pode fazer uma cópia de segurança svndump e, em seguida, copiar o arquivo resultante para outro local.Você pode, também, cópia de segurança das pastas onde o seu repositório existe e, em seguida, restaurar se ocorrer problemas.

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