2016-07-06 136 views
6

Normalmente ho sviluppato localmente (sulla mia macchina) e spinto ovunque dovessero andare via unità mappate, ftp, github, ecc. Ho lavorato un po 'con vagrant/virtualbox (ma ancora, localmente) con una cartella condivisa/con mirroring.Impostazione di lavoro (flusso): Debian VM remoto (in ufficio), ssh, sviluppo web

Sono ora in una situazione in cui tutti qui hanno accesso alla propria casella di sviluppo (un VM sulla rete). Vedo che alcuni lavorano in Vim direttamente tramite SSH, credo, ma non ci sono ancora. Quindi mi rimane la domanda: qual è il modo migliore per (più di un front end) di avvicinarsi a questo?

Ho sentito parlare di un attacco SSH dalla mia workstation ... se è una cosa fattibile. Sono curioso di sapere che cosa prendono tutti su questo tipo di ambiente e (forse) qualsiasi best practice. Anche consigli, collegamenti e letture sono molto benvenuti e apprezzati ... qualsiasi indicazione in una buona direzione sarebbe meravigliosa.

Grazie.

+0

Quando qualcuno parla ssh-mount, lui/lei deve significare sshfs, un fusibile ssh-based (filesystem in userspace) driver del filesystem. Questa roba è abbastanza valida, ho fatto sviluppo web, montato lo spazio del server usando sshfs e lavorando direttamente su questo filesystem, per anni. Era letteralmente impeccabile. –

risposta

4

La risposta migliore verrà da ciò che le risorse virtuali si desiderano sfruttare per le macchine virtuali virtuali in rete. Se si desidera solo lo spazio di archiviazione, quindi condividere le unità della VM e montarle localmente, trattarle come locali, fine della storia. Se si desidera eseguire tutta l'elaborazione sulla macchina remota e connettersi da un thin client, si dispone di un paio di opzioni, ma tutte hanno la stessa forma. Connettersi alla macchina, modificare i file sulla macchina remota. A seconda del tuo sistema operativo, avrai a disposizione diverse opzioni.

  • Se la macchina remota non ha un client grafico installato si è bloccato con entrambi, il montaggio la condivisione remota locale (è possibile utilizzare qualsiasi editor che si desidera) o ssh alla macchina remota e utilizzando un editor di riga di comando (vim, nano, emacs).

  • Se v'è un client grafico installato si hanno più opzioni:

    • remoto sul server utilizzando qualsiasi spettatore visiva (mstsc per le finestre, VNC è un'opzione), e quindi utilizzare qualsiasi editor installato da remoto di tua scelta.

    • Remoto nell'uso di ssh -X, quindi eseguire l'editor installato in remoto. Supponendo che tu abbia un X-Server localmente (se stai eseguendo Linux già lo fai), la parte GUI dell'applicazione verrà eseguita sul lato client del tunnel ssh e il processo verrà eseguito sul server. Questa è probabilmente l'opzione migliore.

Quindi:

  • Assicurarsi che il server remoto ha un software client desktop (GTK, KDE, GNOME, quasi tutti i sistemi operativi Windows, ecc ...)
  • installare GUI editor di tua scelta su quel server
  • ssh -X a quel server
  • installa testo sublime, geany o la tua scelta di editor
  • eseguire subl, geany o altro per avviare l'applicazione.
+0

bene, ssh X11 forwarding può venire con molto più elevato sovraccarico del traffico di rete di un file system di rete, per non parlare l'esperienza dell'utente imperfetto su più alto carico di rete. Non consiglierei di andare in questo modo dove una montatura di rete è una soluzione accettabile. –

+0

Dipende da cosa si vuole ottimizzare per, se si sta cercando di ottenere il beneficio di un server remoto ad alte prestazioni, lo stoccaggio, internet, che non si ha a livello locale, X sarebbe una buona opzione. Se hai una bestia sotto (o sopra la tua scrivania), e stai solo cercando una soluzione di backup allora 'rsync' sarebbe meglio. C'è un ampio spettro di ciò che puoi implementare, dipende solo dai tuoi obiettivi. –

+0

Grazie per la risposta, Warren. Questa è una buona base per me (e spero che siano altri), insieme ai commenti qui! Al momento, sto utilizzando SFTP NetDrive (gratuito) per il mapping SSH dalla mia casella Win, Sublime e utilizzando HeidiSQL per il client DB (e ovviamente un client SSH per gestire le autorizzazioni, ecc.). Inoltre, sul box remoto ho caricato Laravel (Lumen, in particolare), Apache2/MySQL, Composer, ecc ... quindi basta premere l'ip della casella remota per testare/visualizzare. – Romanulus