Pergunta

Depois de usar Hudson para a integração contínua com um projeto antes, quero configurar um servidor de integração contínua para os projetos para iPhone que eu estou trabalhando agora. Depois de fazer algumas pesquisas, parece que não há quaisquer motores de ignição projetados especificamente para Xcode, mas um cara teve sucesso usando Cruise Control combinado com o xcodebuild ferramenta CLI . Tem alguém aqui tentou isso? Existem quaisquer motores de ignição que funcionam bem com projetos Xcode?

Eu provavelmente vou dar Cruise Control uma tentativa. Vou postar uma resposta com meus resultados.

Foi útil?

Solução

Estou com sucesso usando Hudson no mac com xcodebuild. Com o lançamento do iPhone SDK 3.0 você tem controle competir sobre o alvo, configuração e SDK que o projeto está a ser construída contra.

É tão simples como a criação de uma etapa de compilação em Hudson e dizendo xcodebuild para construir o projeto:

xcodebuild -target "myAppAppStore" -configuration "DistributionAppStore" -sdk iphoneos2.1

O trabalho inicial valeu a pena para mim como o meu constrói apenas o trabalho sem qualquer pensamento adicional. Eu escrevi uma descrição detalhada no meu blog se alguém estiver interessado.

distribuição iPhone app fácil

Outras dicas

Resurrecting esta discussão. Eu não encontrar uma solução satisfatória para ficar automatizado XCode constrói com testes de unidade em um servidor de compilação assim que eu fiz alguma investigação e codificação. O resultado é este post explicando tudo e este script ruby ?? que converte OCUnit saída do xcodebuild para o formato XML que usa JUnit para relatórios de teste . O servidor de compilação que eu escolhi era Hudson .

Atualização 3/2 2012: Eu atualizei isto para usar alguns scripts shell personalizado para a construção e execução. Disponível aqui . É bom não só para a integração contínua, mas também a construção de linha de comando em sua própria máquina.

Adium está usando buildbot com o Xcode bastante eficaz. Nós escrevemos um makefile simples que chama xcodebuild com as metas e configurações adequadas, mas eu tenho certeza que é opcional.

A Apple acaba de lançar (10 de junho de 2013) para OSX Mavericks (OS X 10.9) uma nova plataforma de integração contínua que é a solução de integração contínua mais integrada que eu tenha visto antes. Está disponível a partir developer.apple.com, aqui nesta página tem os detalhes:

https://developer.apple.com/library / ios / documentation / IDEs / conceitual / xcode_guide-continuous_integration /

Eu recomendo para ver a apresentação da WWDC 2013, sobre o tema.

Eu usei CruiseControl com o Xcode (semelhante ao que Pragmatic Automação sugerido) e teve sucesso razoável. Eu também estou muito familiarizado com CruiseControl e é a configuração relativamente terrível formato de configuração.

Eu também usei buildbot com bons resultados, mas descobri que é pontos fortes realmente não corresponder às minhas necessidades (escravos distribuídos construção e relatórios em vários sistemas diferentes). Configurando configurações buildbot pode ser uma arte em si, embora não seja difícil. É todos os scripts essencialmente escrevendo em python.

Desde Hudson tornou-se disponível, eu recomendo-o como uma avenida para a execução de integração contínua. Ele tem uma interface baseada na web (deficiência primária do CruiseControl na minha mente) e é muito flexível nos vários sistemas que ele suporta. Você pode chamar linha de comando impulsionada constrói muito facilmente e muito obviamente. Dito isto, eu não tenha configurado uma instância usando Hudson e Xcode, onde eu tenho para os outros sistemas, por isso esta é parcialmente especulação da minha parte.

Eu acho que você deve ser ainda capaz de usar Hudson. Hudson é muito flexível e permite também aos scripts shell uso para a construção: Scripts Shell e do Windows Batch Comandos

Apenas entrar lá xcodebuild. Dê uma olhada na página de homem xcodebuild para ver as opções de xcodebuild.

Se você não se importa de viver na vanguarda Acabei cometeu um xcode construtor para CruiseControl.

Jenkins parece funcionar bem para algumas pessoas. (Embora, eu nunca usei qualquer servidor CI antes.)

https://wiki.jenkins-ci.org/display/JENKINS/ Xcode + Plugin

Jenkins funciona bem. Você pode construir seu projeto Xcode por escrever seu próprio script shell em seguida, deixar Jenkins executá-lo, ou você também pode usar o Xcode plugin.

Mas você tem que estar ciente do problema de autoridade. Com pequenos ajustes nas configurações Jenkins, você vai ser capaz de gerir o seu servidor CI em muito pouco tempo.

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