Runner CI sullo stesso server di GitLab?


12

Sto configurando un server GitLab nella mia azienda e ora sto aggiungendo GitLab CI.

Prima di iniziare questa attività, vorrei capire se ci sono degli svantaggi nell'esecuzione dei miei corridori sullo stesso server utilizzato da GitLab e GitLab CI.

Ho letto che ci sono problemi di sicurezza, ma lo usiamo solo internamente, quindi non credo che questo possa essere un problema.

Mi sto perdendo qualcosa?

Risposte:


11

Immagina le seguenti situazioni:

  • Uno sviluppatore interno vuole danneggiare l'azienda (perché considera sottopagato, perché il suo capo dorme con sua moglie; il motivo non ha importanza) Esegue un test unitario che, quando eseguito, invece di testare l'applicazione, cerca il repository GitLab e lo cancella. Al prossimo commit, sorpresa, tutto il codice sorgente del progetto viene perso (ma fai i backup e li hai testati, giusto?)

  • Oppure lo stesso sviluppatore nota che i backup del repository sono configurati sullo stesso computer. Modifica questa configurazione tramite un unit test, in modo che il backup contenga ora un repository diverso e attende un mese, ovvero il tempo di conservazione dei backup. Ora che tutti i backup sono danneggiati, può eseguire il test dell'unità che cancella il codice sorgente dal server.

  • Oppure un tirocinante vuole vendere il codice sorgente alla concorrenza. Hai configurato con cura l'accesso, limitandolo solo a ciò di cui ha bisogno per il suo lavoro. Allo stesso tempo, ha accesso illimitato al repository stesso attraverso i test unitari, essendo in grado di eseguire il dump completo.

A meno che i test unitari non vengano eseguiti in un contesto di autorizzazioni limitate e non possano accedere a qualsiasi cosa oltre alle directory e ai file necessari per i test, mescolare il server CI con il server che mantiene il repository è davvero pericoloso.

Un altro problema è che il server di controllo della versione dovrebbe essere veloce. Il server CI installato sullo stesso computer potrebbe rallentare i commit.


8
Siamo 3 sviluppatori ... se qualcuno di noi vuole fare del male alla compagnia, può farlo in migliaia di modi = (... Quindi l'unico problema sarebbero le prestazioni lente, ma se uso una bella macchina non dovrei avere grandi problemi, giusto? Grazie!
Fez Vrasta,

ps: che dire di chroot? Non può essere usato per rendere sicuro il processo?
Fez Vrasta,

4
@FezVrasta: se la sicurezza non è un problema nel tuo caso, né le prestazioni, l'unico vantaggio di avere macchine separate che posso vedere è la futura scalabilità. Francamente, apportare modifiche prima che compaiano problemi di scalabilità sembra simile all'ottimizzazione prematura.
Arseni Mourzenko,

@FezVrasta: "che dire di chroot? Non puoi usarlo per rendere sicuro il processo?" - Non ho abbastanza competenze nella sicurezza di Unix per rispondere a questa domanda.
Arseni Mourzenko,

0

Dato che non esiste un server centrale "onnisciente" per git, questo non è un male come sarebbe con alcuni altri sistemi di controllo del codice sorgente.

A condizione che esista un syk automatico del server git off-site su un altro server git (che è stato testato) non sarei preoccupato per questa configurazione in una piccola azienda.

Idealmente, vorrei vedere gli sviluppatori spingere le loro modifiche sul server git del server offset, quindi sul server CI per prelevare i costi dal server offset, in questo modo il server offsite viene testato al termine di ogni check in.

Se gli sviluppatori hanno sempre fatto il loro tiro dal server in loco per risparmiare tempo, questo non è un problema.


1
se ho bisogno di 2 server ... perché non dovrei solo correre corridori sul 2 ° server?
Fez Vrasta,

@FezVrasta, il " server offsite " può essere chiunque ti venderà git hosting, non deve essere un server di tua proprietà. Inoltre, dato che è su Internet, fare un tentativo sarà lento.
Ian

1
Lo sto installando per la mia compagnia, usiamo i nostri server ...
Fez Vrasta,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.