Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Ejecutores propios en GitHub y en GitLab

5 tareas · 40 min · Principiante

Un ejecutor es la máquina donde corre el trabajo. Los que aloja el proveedor nacen limpios y mueren al terminar; los propios los administra la empresa, a menudo dentro de la red interna y reutilizados entre trabajos. Con el inventario de ejecutores y trabajos de Mirto Pagos lees qué código corre dónde, qué deja un trabajo para el siguiente y quién llega a las redes internas. Es consulta de solo lectura sobre un inventario guardado; no se ejecuta nada.

0 de 5 · 0%

Objetivo de la sala

Un ejecutor es la máquina donde corre el trabajo. Los que aloja el proveedor nacen limpios y mueren al terminar; los propios los administra la empresa, a menudo dentro de la red interna y reutilizados entre trabajos. Con el inventario de ejecutores y trabajos de Mirto Pagos lees qué código corre dónde, qué deja un trabajo para el siguiente y quién llega a las redes internas. Es consulta de solo lectura sobre un inventario guardado; no se ejecuta nada.

En un repositorio público cualquiera puede bifurcarlo y abrir una propuesta cuyo flujo corre en el ejecutor. La documentación de seguridad de GitHub dice que los ejecutores propios casi nunca deben usarse con repositorios públicos: el código de un desconocido correría en una máquina de la empresa y, si es persistente, podría dejar algo para los trabajos siguientes.

En GitLab, el equivalente es la opción de ejecutor protegido, que lo limita a ramas o etiquetas protegidas, y el cuidado con el ejecutor de shell, que no aísla el trabajo del anfitrión.

Responde para continuar

¿Por qué es mala idea que un repositorio público use un ejecutor propio persistente?

Ver pista de ayuda

Piensa en quién controla el código del trabajo y qué más hay alrededor de la máquina.

Cruza las dos tablas: cada trabajo dice en qué ejecutor corre y de qué repositorio es. Busca el trabajo de un repositorio público que corre en un ejecutor propio que no se limpia entre trabajos.

Responde para continuar

Escribe el nombre del ejecutor propio y persistente en el que corre un trabajo de un repositorio público.

Ver pista de ayuda

Ejecuta SELECT * FROM trabajos y filtra por visibilidad; luego mira el tipo de ese ejecutor en la otra tabla.

Un ejecutor de GitLab que despliega a producción y atiende pipelines de cualquier rama deja que quien cree una rama con permiso de escritura lance código en una máquina de la red de producción. Existen dos ejecutores de despliegue casi iguales: se diferencian en una sola columna.

Responde para continuar

Escribe el ejecutor de GitLab de la red de producción que no se limita a ramas protegidas.

Ver pista de ayuda

Ejecuta SELECT * FROM ejecutores y compara la columna solo_ramas_protegidas de los dos ejecutores de despliegue.

La exposición se mide en trabajos: cada trabajo que corre en un ejecutor que se reutiliza y está dentro de una red interna (incluida la de producción) puede heredar lo que dejó el anterior y ve desde ahí lo que ve la red. Cuenta los trabajos de la tabla en esa situación, de las dos plataformas.

Responde para continuar

¿Cuántos de los siete trabajos corren en un ejecutor que no se limpia entre trabajos y está en una red interna?

Ver pista de ayuda

Primero anota los ejecutores que cumplen las dos condiciones; después cuenta las filas de trabajos que los usan.

Sin ejecutores propios no hay problema, pero Mirto Pagos los necesita para desplegar dentro de su red. La documentación de ambos CI orienta hacia ejecutores que no conservan estado entre trabajos y hacia repartirlos por nivel de confianza: lo público, fuera de la red interna.

Responde para continuar

¿Cuál es la corrección más sana para los ejecutores?

Ver pista de ayuda

Separa por confianza lo que ejecutará código ajeno y evita que un trabajo herede el estado del anterior.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad