Come configurare un ambiente iOS multi-sviluppatore?

5

Lascia che ti spieghi la mia esigenza:

Ho un ambiente di rete con 3 computer collegati a un server che verrà eseguito a tempo pieno. Il server esegue anche un server FTP. Vorrei creare un ambiente in cui 3 sviluppatori saranno in grado di lavorare sullo stesso progetto.

Ad esempio, se creo un'app CRM, vorrei suddividere il progetto in moduli in modo che ognuno di essi funzioni su ciascun modulo come lo sviluppatore A lavorerà sull'autenticazione, lo sviluppatore B lavorerà al salvataggio / recupero dei dati e Developer C funzionerà sulla programmazione dell'interfaccia utente.

Se utilizzo Revision Control, chiunque può guidare come configurare?

Lo sviluppo dell'intera app può essere eseguito contemporaneamente poiché ciascuno degli sviluppatori lavorerà su aree diverse?

Come posso creare questo tipo di ambiente iOS multi-developer ?

    
posta Mithun John Jacob 28.02.2011 - 08:54
fonte

2 risposte

2

Sembra uno standard integrazione continua impostazione

Sembra che ti piacerebbe creare un ambiente di integrazione continua in modo che gli sviluppatori possano lavorare indipendentemente l'uno dall'altro, ma unire il loro lavoro su base regolare (ogni due ore) e avere il risultato finale spinto verso il dispositivo iOS che funge da standard di rilascio corrente.

Impostazione di un sistema di controllo della versione

Per prima cosa impostare un sistema di controllo della versione. Chiedi ai tuoi sviluppatori quali preferirebbero, ma i candidati caldi saranno Subversion, Mercurial o Git. Le ultime due offrono il controllo della versione distribuito in modo che i tuoi sviluppatori possano lavorare ovunque (anche quando sono offline dal server di controllo della versione principale). Il primo (SVN) richiede che un server di controllo delle versioni sia disponibile per i check-in, di solito quando si è in ufficio. Le versioni correnti di Xcode hanno il supporto nativo per Subversion, ma c'è anche il versioni client e Git Tower per git.

Non c'è carenza di blog per quanto riguarda l'impostazione di uno dei precedenti, quindi basta scegliere e iniziare. Personalmente, Mercurial è un gioco da ragazzi ma il tuo percorso può variare.

Configurazione di Hudson

Hudson è un server di integrazione di integrazione continuo molto semplice. (Jenkins è il diretto progetto di successore di Hudson e potresti voler applicare questo approccio usando invece Jenkins).

Imposta build Hudson per iOS e dagli un obiettivo di compilazione simile a questo

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

Configura Hudson / Jenkins per costruire su ogni modifica al sistema di controllo della versione.

Il processo generale diventa quindi

  1. Lo sviluppatore A scrive del codice, lo verifica localmente e lo controlla in
  2. Lo Sviluppatore B scrive contemporaneamente del codice e lo controlla in
  3. Il controllo del codice sorgente unisce le modifiche alla versione più recente
  4. Hudson controlla l'ultima versione corrente e tenta una build
  5. Se la compilazione fallisce, tutti gli sviluppatori ricevono un'email con l'indicazione dell'errore
  6. Gli sviluppatori lavorano per risolvere il problema di integrazione
  7. Risciacquare e ripetere fino a quando l'applicazione può essere rilasciata
  8. Verifica che l'applicazione funzioni sui dispositivi iOS di destinazione, respingi come un bug se fallisce
risposta data 28.02.2011 - 10:35
fonte
0

In realtà non è diverso da qualsiasi altro progetto software multi-sviluppatore:

Il server esegue il software di controllo della versione, in cui è memorizzato il progetto di sviluppo unito.

Sul client SVN è integrato in Xcode 3 e la prossima versione di Xcode integra anche Git, rendendoli un po 'più semplici rispetto ad altre opzioni, ma puoi eseguire separatamente Git o Mercurial o qualsiasi altro client.

Qualcuno crea il progetto iniziale su uno dei sistemi client e lo controlla nel server, quindi gli altri sviluppatori clonano le copie per le loro singole macchine. Scrivono i loro pezzi di codice e costruiscono & eseguire il debug sui propri sistemi. Periodicamente (almeno giornalmente, idealmente) gli sviluppatori controllano le loro modifiche e l'intero progetto viene creato ed eseguito, oltre a scaricare le modifiche dagli altri sviluppatori.

Ad un certo punto lo chiami fatto. :)

    
risposta data 28.02.2011 - 10:35
fonte

Leggi altre domande sui tag