Nuovo flusso di lavoro per lo sviluppo della cloud con Github, Cloud9ide e CloudFoundry

6

Quindi il tempo sta cambiando verso lo sviluppo del cloud / computing.

Sto cercando di ottenere il nuovo flusso di lavoro "cloud" basato sui servizi che userò: Github, Cloud9ide e CloudFoundry.

Ecco cosa ho in mente:

  • Github agisce come un centrale (repo principale) proprio come il filesystem locale di ieri. Ogni servizio baserà il servizio su questo repository principale.

Flusso di lavoro:

  1. Github: creo un nuovo repository Github servito come repository principale per il progetto.
  2. Cloud9ide. Apro il mio repository Github e scrivo i miei test e implementazione (BDD / TDD). Quando sono pronto, lo salvo (commit) sul repository principale su Github.
  3. X: un'istanza in esecuzione di Jenkins rileva che qualcuno ha commesso e recupera gli ultimi commit, build, distribuzioni, test (yeti e / o selenio) e segnala se i test sono stati approvati o meno. Altrimenti, eseguo un altro commit fino al passaggio di tutti i test.
  4. X: eseguo i comandi CloudFoundry per spingere il repository Github principale sul server CloudFoundry e distribuirà automaticamente la mia app.

Ciò su cui sono ancora confuso è dove sarà questo ambiente X. Su un server locale dove devo installare Jenkins? O posso installarlo su Cloud9ide (quando java è supportato) o sarà su un altro servizio cloud? Inoltre, quell'ambiente X deve essere in grado di recuperare (clonare) il repository Github ed eseguire gli script di compilazione.

E poiché il concetto di Cloud9ide è molto nuovo e non ci sono stati altri predecessori, mi chiedo davvero come sarà il flusso di lavoro. Conosciamo tutti il flusso di lavoro di Github. Ora conosciamo il flusso di lavoro di CloudFoundry (deploy / scale con un restful API / command line tool). Ma come funzionerà Cloud9Ide è ancora poco chiaro per me. Qualcuno su Cloud9ide ha detto che ci saranno pulsanti come la distribuzione in modo da poter essere distribuito con un clic. Ma suppongo dipenderà da quali servizi verranno implementati nel processo di implementazione in ecc.

Qualcuno potrebbe illuminare questo argomento del flusso di lavoro cloud e colmare le lacune.

Grazie.

    
posta yannis 18.05.2011 - 02:08
fonte

3 risposte

2

Se questo è un progetto puramente open source, link è un'opzione.

Al di fuori di questo, probabilmente vorrai esplorare l'EC2 di Amazon (a questo punto) per costruire un server hudson / jenkins che è il tuo agente di build.

Proprio ora, nel mio giocare con Cloud9, riprende semplicemente il tuo repo github, non fa altro. Questo potrebbe essere in sospeso in futuro però. Per ora, una piccola istanza EC2 non è terribilmente costosa su base mensile.

    
risposta data 28.05.2011 - 03:35
fonte
1

Un'istanza in esecuzione di Jenkins rileva che qualcuno ha commesso e recupera gli ultimi commit, build, distribuzioni, test (yeti e / o selenio) e segnala se i test sono stati approvati o meno. Altrimenti, eseguo un altro commit fino al passaggio di tutti i test.

Questo può essere fatto con travis , che è molto semplice da configurare e molto facile da usare.

    
risposta data 02.02.2012 - 03:44
fonte
0

Non so che posso "colmare" questa lacuna, ma per me, una delle maggiori lacune potrebbe essere nel campo del debugging. Non hai davvero detto che tipo di ambiente hai intenzione di sviluppare, ma trovo che apprezzo la possibilità di accendere il mio codice Java all'interno del server e connettermi ad esso con il mio IDE per passare attraverso una linea alla volta sia per diagnosticare bug sia per verificare che il codice complicato funzioni come previsto (qualcosa che prova a volte catturare e non altri).

Non vedo davvero come funzionerà quando si riscontrano problemi con i log che non verranno diagnosticati se non uscendo dal cloud e trascinando il codice verso il basso e eseguendolo attraverso Micro Cloud.

Quindi, per me, il grande divario in tutto questo al momento riguarda i difficili problemi di debug.

    
risposta data 27.06.2011 - 16:03
fonte