Come sviluppare su Windows e testare ed eseguire su Linux?

12

Sono uno dei due sviluppatori di alcuni software interni (scritti in python) nella mia azienda. Il software è un'applicazione server progettata per funzionare su una macchina Linux dedicata. Al momento disponiamo di una casella contenente il nostro repository SVN e questa casella viene utilizzata anche per i test. Il problema è che lo sto sviluppando sulla mia workstation usando Eclipse su Windows e questa app non può essere eseguita su Windows.

Come organizzare correttamente tale ambiente in modo da non perdere tempo prezioso durante il trasferimento del progetto e del codice in modo da poterlo testare?

Attualmente sto facendo checkout svn, cambio del codice e poi lo carico sul server di sviluppo per il test (non via svn). Provalo sul server, cambia qualcosa, testalo di nuovo ecc. Dopo tutto questo arriva il commit. Questo costante caricamento e test mi sta facendo impazzire. Ho provato a mantenere il progetto sul server (checkout alla directory home) ma questo causa un sacco di problemi con Eclipse.

Ovviamente non ho molta esperienza in questo, quindi chiedo quali sono le migliori pratiche in merito a questo tipo di problemi?

    
posta c0ldcrow 02.08.2011 - 14:51
fonte

5 risposte

14

Monta la cartella sulla scatola Linux. In questo modo puoi interagire direttamente con il codice. Funziona un fascino!

    
risposta data 02.08.2011 - 15:01
fonte
10

La soluzione migliore a mio parere sarebbe quella di utilizzare un ambiente virtualizzato per i test, se il PC locale ha le risorse per eseguirne uno.

Per alcuni consigli su prodotti specifici, puoi vedere la mia risposta a una domanda su StackOverflow , ma in generale, ciò significa che si avrà un secondo PC Linux in esecuzione all'interno di quello attuale. Lo uso per lo sviluppo PHP su Windows tutto il tempo e funziona davvero bene per me. Puoi condividere la tua base di codice con SSH / ExpanDrive oppure se stai usando VirtualBox quindi controlla cartelle condivise .

    
risposta data 02.08.2011 - 15:02
fonte
6

Suggerimento 1: lavora direttamente su Linux, se hai tempo per impararlo. Imparare come funziona un altro sistema operativo è davvero ottimo per la tua esperienza personale e aggiungere al tuo CV che sai come usare Linux non fa male. Inoltre, Eclipse esiste in Linux, quindi non perdi nulla contro Windows.

Suggerimento 2: installa Linux su una macchina virtuale localmente. Ti permetterà di testare l'applicazione senza doverla pubblicare ogni volta su un server remoto.

Nota: come si può scrivere un'applicazione che si rivolge a Linux se si lavora con Windows? È un incubo!

    
risposta data 02.08.2011 - 15:01
fonte
2

Se utilizzi eclipse, c'è un plug-in perfetto per te: Filesync Lo uso sempre e sono sicuro che ti piacerà.

Ecco cosa faccio di solito mentre lavoro nelle stesse condizioni di te.

Controllo il progetto da SVN usando Eclipse nella mia macchina. Quindi sincronizzo il mio progetto locale con il server di sviluppo remoto escluso file come .project e così via. Ti consiglio di inserire la chiave SSH sul server remoto per accelerare la connessione.

E voilà! Ora puoi lavorare localmente ed eclipse sincronizzerà automaticamente tutte le modifiche che fai sul server remoto. Quando tutto è ben testato e pronto per essere consegnato, puoi impegnarti anche con eclipse! Non c'è bisogno di stucco!

Spero che ti aiuti!

    
risposta data 02.08.2011 - 15:28
fonte
0

Sono riuscito a scrivere codice c / mono in Visual Studio e a eseguire il debug remoto su una macchina Linux da VS utilizzando un plug-in di debugger remoto GDB. Ha funzionato incredibilmente bene. Immagino che sarebbe più veloce se l'installazione di Linux è in una VM locale (c'è una bella appliance VMWare Ubuntu disponibile sul web), ma avevo bisogno di un set di schede Tesla GPU che non fossero installate sul mio laptop.

Cerca WinGDB. Non è gratuito, ma funziona incredibilmente bene.

    
risposta data 02.08.2011 - 20:06
fonte

Leggi altre domande sui tag