¿Corredor CI en el mismo servidor de GitLab?

12

Estoy configurando un servidor GitLab en mi empresa y ahora le agrego GitLab CI.

Antes de comenzar esta tarea, me gustaría entender si hay alguna desventaja al ejecutar mis corredores en el mismo servidor utilizado por GitLab y GitLab CI.

He leído que existen problemas de seguridad, pero lo usamos solo internamente, así que no creo que esto pueda ser un problema.

¿Me estoy perdiendo de algo?

Fez Vrasta
fuente

Respuestas:

11

Imagine las siguientes situaciones:

  • Un desarrollador interno quiere perjudicar a la empresa (porque considera que está mal pagado, porque su jefe duerme con su esposa; la razón no importa) Comete una prueba unitaria que, cuando se ejecuta, en lugar de probar la aplicación, busca el repositorio de GitLab y lo borra En la próxima confirmación, sorpresa, todo el código fuente del proyecto se pierde (pero haces copias de seguridad y las pruebas, ¿verdad?)

  • O el mismo desarrollador nota que las copias de seguridad del repositorio están configuradas en la misma máquina. Cambia esta configuración a través de una prueba unitaria, de modo que la copia de seguridad contenga ahora un repositorio diferente y espere un mes, el tiempo que se guardan las copias de seguridad. Ahora que todas las copias de seguridad están dañadas, puede realizar su prueba de unidad que borra el código fuente del servidor.

  • O un interno quiere vender el código fuente a la competencia. Ha configurado cuidadosamente el acceso, limitándolo solo a lo que necesita para su trabajo. Al mismo tiempo, tiene acceso ilimitado al repositorio en sí a través de las pruebas unitarias, pudiendo realizar el volcado completo.

A menos que las pruebas unitarias se ejecuten en un contexto de permisos limitados y no puedan acceder a nada más allá de los directorios y archivos que necesitan para las pruebas, mezclar el servidor CI con el servidor que mantiene su repositorio es realmente peligroso.

Otro problema es que se espera que el servidor de control de versiones sea rápido. El servidor CI instalado en la misma máquina puede ralentizar las confirmaciones.

Arseni Mourzenko
fuente
8
Somos 3 desarrolladores ... si alguien de nosotros quiere dañar a la compañía, puede hacerlo de mil maneras = (... Entonces, el único problema sería el rendimiento lento, pero si uso una buena máquina no debería tener grandes problemas, ¿verdad? Gracias!
Fez Vrasta
PD: ¿qué pasa con Chroot? ¿No se puede usar para hacer que el proceso sea seguro?
Fez Vrasta
44
@FezVrasta: si la seguridad no es una preocupación en su caso, ni tampoco lo son las actuaciones, el único beneficio de tener máquinas separadas que puedo ver es la escalabilidad futura. Pero, francamente, hacer cambios antes de que aparezcan los problemas de escalabilidad es similar a la optimización prematura.
Arseni Mourzenko
@FezVrasta: "¿qué pasa con chroot? ¿No se puede usar para hacer que el proceso sea seguro?" - No tengo suficientes habilidades en seguridad de Unix para responder esa pregunta.
Arseni Mourzenko
0

Dado que no hay un servidor central "todo lo sabe" para git, esto no es tan malo como lo sería con algunos otros sistemas de control de código fuente.

Siempre y cuando haya un syk automático del servidor git fuera del sitio a otro servidor git (que se prueba), no me preocuparía esta configuración en una empresa pequeña.

Idealmente, me gustaría ver a los desarrolladores empujar sus cambios al servidor git del servidor de compensación, luego al servidor de CI para retirar los cargos del servidor de compensación, de esa manera se prueba el servidor externo cuando se realiza cada registro.

Si los desarrolladores siempre hicieron su extracción del servidor en el sitio para ahorrar tiempo, eso no es un problema.

Ian
fuente
1
si necesito 2 servidores ... ¿por qué no debería simplemente ejecutar corredores en el segundo servidor?
Fez Vrasta
@FezVrasta, el " servidor externo " puede ser cualquiera que le venda git hosting, no tiene que ser un servidor de su propiedad. Además, ya que es a través de Internet, hacer un tirón será lento.
Ian
1
Lo estoy configurando para mi empresa, usamos nuestros propios servidores ...
Fez Vrasta