Como configurar um ambiente iOS multi-desenvolvedor?

5

Deixe-me explicar minha necessidade:

Estou tendo um ambiente de rede com 3 computadores conectados a um servidor que estará funcionando em tempo integral. O servidor também executa um servidor FTP. Eu gostaria de criar um ambiente onde 3 desenvolvedores poderão trabalhar no mesmo projeto.

Por exemplo, se eu estiver criando um aplicativo de CRM, gostaria de dividir o projeto em módulos para que cada um funcione em cada módulo, como o Desenvolvedor A estará trabalhando na autenticação, o Desenvolvedor B estará trabalhando para salvar / recuperar dados e o Developer C estará trabalhando na programação da interface do usuário.

Se eu usar o Controle de Revisão, alguém pode orientar como configurá-lo?

O desenvolvimento de todo o aplicativo pode ser executado simultaneamente , já que cada um dos desenvolvedores trabalhará em diferentes áreas?

Como posso criar esse tipo de ambiente iOS multi-desenvolvedor ?

    
por Mithun John Jacob 28.02.2011 / 08:54
fonte

2 respostas

2

Parece uma configuração padrão de integração contínua

Parece que você gostaria de criar um ambiente de integração contínua para que os desenvolvedores possam trabalhar independentemente uns dos outros, mas mescle seu trabalho regularmente (a cada duas horas) e ter o resultado final enviado para o dispositivo iOS. que atua como o padrão de lançamento atual.

Configurando um sistema de controle de versão

Primeiro, configure um sistema de controle de versão. Pergunte aos seus desenvolvedores quais eles preferem, mas os candidatos mais populares serão o Subversion, o Mercurial ou o Git. Os dois últimos oferecem controle de versão distribuída para que seus desenvolvedores possam trabalhar em qualquer lugar (mesmo quando estiver offline no servidor de controle da versão principal). O primeiro (SVN) requer que um servidor de controle de versão esteja disponível para checkins, normalmente o caso quando você está no escritório. As versões atuais do Xcode têm suporte nativo para o Subversion, mas há também o cliente Versões e Git Tower para git.

Não há escassez de blogs sobre a configuração de qualquer um dos itens acima, basta escolher e começar. Pessoalmente, Mercurial é uma brisa , mas sua milhagem pode variar.

Configurando o Hudson

O Hudson é um servidor de construção de integração contínua muito simples. (Jenkins é o projeto sucessor direto para Hudson e você pode querer aplicar essa abordagem usando Jenkins).

Configure o Hudson para iOS e um alvo de compilação algo como isto

xcodebuild -project Myproj.xcodeproj -target MyProj -configuration Debug

Configure o Hudson / Jenkins para criar todas as alterações no sistema de controle de versão.

O processo geral torna-se então

  1. O desenvolvedor A escreve algum código, testa-o localmente e o verifica em
  2. O Desenvolvedor B grava simultaneamente algum código e o verifica em
  3. O controle de origem mescla as alterações com a versão mais recente
  4. O Hudson verifica a última versão atual e tenta uma compilação
  5. Se a construção falhar, todos os desenvolvedores receberão um e-mail informando o que causou a falha
  6. Os desenvolvedores trabalham para corrigir o problema de integração
  7. Enxágue e repita até que o aplicativo possa ser liberado
  8. Verifique se o aplicativo funciona nos dispositivos iOS de destino, retroceda como um bug se ele falhar
por 28.02.2011 / 10:35
fonte
0

Não é diferente de qualquer outro projeto de software para vários desenvolvedores:

O servidor executa o software de controle de versão, no qual o projeto de desenvolvimento mesclado é armazenado.

No cliente SVN está integrado ao Xcode 3 e a próxima versão do Xcode também integra o Git, tornando-os um pouco mais fáceis do que outras opções, mas você pode rodar um Git ou Mercurial separado ou qualquer outro cliente.

Alguém cria o projeto inicial em um dos sistemas clientes e o verifica no servidor, depois os outros desenvolvedores copiam cópias de suas máquinas individuais. Eles escrevem seus códigos e criam & depurar em seus próprios sistemas. Periodicamente (pelo menos diariamente, idealmente) os desenvolvedores verificam suas mudanças e todo o projeto é construído e executado, bem como o download de alterações dos outros desenvolvedores.

Em algum momento você chama isso. :)

    
por 28.02.2011 / 10:35
fonte