Si eres desarrollador, deberías estar familiarizado con Git. Eslaherramienta esencial para los ingenieros de software, pero también es muy útil para casi cualquier persona. Git es un sistema de control de versiones para software y otros documentos y archivos basados ​​en texto, que te permite modificar y realizar cambios con un historial completo y un sistema de ramificaciones, entre muchas otras funciones excelentes (que se explicanen otro lugar, mucho mejor de lo que yo podría hacerlo). Si eres un homelabber, Git puede ser ideal para administrar tus configuraciones.

Pero Git puro es solo una parte de la ecuación: también necesitas un servidor Git. Aquí es donde tu código reside de forma remota y permite compartir cambios entre varios desarrolladores y dispositivos. Muchas personas optan por utilizar instancias de Git gratuitas en línea como GitHub, y esto tiene muchas ventajas, pero también algunas desventajas.

Alojar tu propio servidor Git con algo como Gitea puede ser una gran experiencia de aprendizaje y también puede tener algunos beneficios prácticos. A continuación, se muestran algunas de las razones por las que alojar tu propio servidor Gitea sería una gran idea.

Relacionado
6 razones por las que deberías elegir SBC y mini-PC en lugar de hardware de nivel de servidor

Los equipos de servidores hardcore pueden resultar más atractivos para los amantes de los laboratorios domésticos, pero los sistemas calificados por el consumidor tienen las mismas ventajas.

2

5No corra el riesgo de exponer sus datos

Mantener sus datos privados fuera de Internet agrega otra capa a su seguridad.

Un pequeño laboratorio doméstico en un chasis montado en rack.
Fuente: Wikimedia Commons

Una buena razón para alojar tu propia instancia de Gitea (u otra similar) en tu laboratorio doméstico es añadir una capa adicional de protección para tu seguridad. La importancia de esto para ti puede variar según para qué uses Git. Si trabajas en proyectos de código abierto, sin canales CICD complejos que se conecten a otros servicios o información confidencial, entonces probablemente estés bien haciendo uso de las excelentes herramientas que ofrecen servicios como GitHub. Pero, si trabajas con datos más confidenciales, especialmente si se conectan a otros servicios como AWS, GCP o Azure, donde una clave API mal asignada podría generar una factura enorme rápidamente, es posible que no quieras correr el riesgo.

Personalmente, creo que hay un beneficio (y pocas desventajas) en que ambos permanezcan internos. Es bueno tener servicios y códigos restringidos a mi red para no tener que preocuparme tanto por mis propias malas prácticas que podrían exponer algo no deseado cuando estoy haciendo modificaciones.

También hay otras consideraciones aquí. Es probable que la mayoría de los grandes proveedores de Git en la nube realicen algún grado de minería de datos; además, sabemos que estasIA generadoras de códigoestán siendo entrenadas en algún lugar.

4Personalización

Personaliza tu instancia a tu gusto

Espejo de Ryujinx en GitHub

Otra excelente razón para tener tu propio servidor Gitea o similar en casa es la personalización que ofrece. Gitea tiene una base de personalización casi ilimitada, incluidas opciones de configuración diseñadas para ser ajustadas, con documentación completa sobre cómo reescribir páginas, servir archivos personalizados y ajustar diseños. La mayor parte de Gitea se basa en plantillas, que se pueden modificar fácilmente para cambiar la presentación de una página sin entrar en detalles modificando los datos devueltos o requeridos por una página.

Esto es un poco confuso, pero si eres unusuario avanzadoa quien le gusta que las cosas sean "perfectas" o simplemente estás interesado en agregar tu propia marca personal a tu instancia, entonces esto es un gran beneficio.

Si está interesado en explorar lo que puede ofrecer la personalización de Gitea, le recomendamos que lea sudocumentaciónsobre cómo personalizar su instancia autohospedada.

Relacionado
4 razones por las que deberías ejecutar tu propio servidor DNS con Unbound

Actualizar su red con un servidor DNS autohospedado es una de las mejores mejoras que puede realizar.

4

3Acceso sin conexión

No es necesario que los dispositivos que acceden a tus compilaciones tengan conexión a Internet

Otra gran razón para alojar tu propia instancia de Gitea es que está disponible sin conexión. Esto tiene dos caras. En primer lugar, si vives en una zona con conectividad a Internet intermitente o inestable, o si simplemente tienes unenrutador ISP poco fiable, tener una copia local de tu trabajo es esencial. Si eres un contratista o un desarrollador a tiempo completo, a veces tener una copia local de algunos repositorios principales puede permitirte seguir trabajando donde de otro modo podrías verte obligado a parar. La otra cara de esto es que no estás en deuda con el tiempo de actividad de la nube como GitHub o GitLab, que tienen reputaciones no tan perfectas en cuanto a tiempo de actividad en los últimos años.

Es fantástico poder seguir trabajando cuando el servicio en la nube que elijas (o Internet en su totalidad) no funciona, y puede ser relativamente sencillo de configurar. Siempre puedes configurar alias para enviar a ambos repositorios al mismo tiempo, o configurar una acción CICD o algo similar para mantener tus repositorios sincronizados entre la nube y las instancias locales.

2Sin bloqueo de plataforma

No corras el riesgo de que te quiten tu característica favorita

PowerShell-Github
Fuente:Github

Esto se aplica a casi todo el software gratuito en línea. Siempre existe el riesgo de que se produzca un tirón de alfombra. Es un patrón muy común entre las empresas de tecnología en la actualidad. Atraen a los usuarios con una gran oferta "gratuita", que parece casi demasiado buena para rechazarla (pero a menudo es demasiado buena para ser verdad, al menos a largo plazo). Una vez que se ha establecido una base de usuarios, comienzan a bloquear las nuevas funciones detrás de muros de pago o a eliminar las existentes, al mismo tiempo que dificultan la migración a servicios de la competencia.

Migrar entre instancias de Git no es difícil. En realidad, es increíblemente fácil. Sin embargo, migrar cosas como canalizaciones CICD u otras integraciones específicas de la plataforma puede ser una completa pesadilla. Por lo tanto, su experiencia puede variar en este caso: si solo está utilizando Git puro, es probable que el bloqueo no sea demasiado grave. Pero si está utilizando ejecutores CICD, configuración, inyección de secretos o cualquier otra cosa que se presente más como una "plataforma", entonces considere cómo usted o su pequeña empresa podrían manejar las cosas si de repente hubiera una factura significativa que pagar para continuar utilizando esas funciones.

1Ahorro de costes

Especialmente pertinente si estás utilizando funciones avanzadas o muchos ejecutores CICD.

Actualización de Windows 11 en un NAS

Nuestro último punto está más enfocado a las pequeñas empresas, pero hay una razón seria por la que existen estas instancias alojadas en servidores propios. A menudo, con paquetes pagos como GitHub Enterprise o GitLab, estás pagando por una cierta cantidad de minutos de computación en la nube para los ejecutores de CICD. Estos ejecutores se computan efectivamente de la misma manera que una máquina virtual de Azure o AWS, y están disponibles para ejecutar tus pipelines de CICD. Esto puede ser costoso y es algo que todas las plataformas incluyen agresivamente en sus precios para aumentar sus márgenes (especialmente aquellas con acceso a computación barata).

Sin embargo, independientemente de si utilizas tus minutos de cómputo o no, puedes ahorrar mucho dinero si alojas tus propios ejecutores en otro lugar. No es necesario que alojes tu propia instancia para hacer esto, pero no suele ser una mala idea encargarse de ambas cosas al mismo tiempo.

Ejecutar tu propia instancia de Git no es para todos

Para muchas personas, ejecutar su propia instancia de Git sería excesivo. Es posible que no se beneficie de alojar sus propios ejecutores o dividir el almacenamiento de su código entre la nube y su instancia local. Pero para otros, especialmente si es un desarrollador a tiempo completo que trabaja desde casa, algunos de estos beneficios pueden ser cruciales. Tener su propia instancia privada, infinitamente escalable y personalizable desde la que trabajar puede ser un salvavidas, especialmente si GitHub deja de funcionar de repente durante unas horas.