475 - Mi propio GitHub de la mano de Gitea

475 - Mi propio GitHub de la mano de Gitea

Gitea es una alternativa a #GitHub que puedes auto hospedar en modo #selfhosted y con el que tendrás tu servicio de repositorios #git para #Linux y otros

1:25
-3:15

Cuando descubrí lo del control de versiones casi me explota la cabeza. ¿Como había podido vivir sin el control de versiones durante tanto tiempo?. A partir de ese descubrimiento, yo quería aplicar el control de versiones a cualquier cosa, y no solo a cuestiones relacionadas con la informática, sino literalmente a cualquier cosa. Con el paso del tiempo, esta fiebre del control de versiones se me fue pasando. Aunque te tengo que decir, que de vez en cuando tengo alguna que otra recaída, que se me suele pasar relativamente pronto. Esta fiebre volvió a mi, cuando descubrí que era posible mi propio GitHub de la mano de Gitea, y es precisamente de lo que te quiero hablar. Sobre Gitea, que es, y mi uso actual de él.

Mi propio GitHub de la mano de Gitea

Mi propio GitHub de la mano de Gitea

Sobre el control de versiones

No es la primera, y seguro que no será la última vez que te hablo de Gitea. En concreto, ya te hablé sobre este increíble servicio en el episodio 387 del podcast que titulé Gitea o que no te despiste el brilli brilli. En este episodio del podcast, te hablé sobre mis cambios en las distintas herramientas de toma de notas que había realizado en los últimos tiempos, motivado por la última versión de dnote.

Lo que mas me maravilla del control de versiones, es la posibilidad de volver atrás en el tiempo. Recuperar una versión de un archivo o, incluso mucho mejor si cabe, trabajar en dos historias paralelas de forma simultánea. Esto es precisamente fue lo que despertó mi fiebre del control de versiones.

Sobre Gitea

Gitea es un servicio de alojamiento de repositorios de código abierto y una alternativa a GitHub y GitLab. Se ejecuta en sistemas operativos como Windows, macOS y Linux y ofrece características similares a otros servicios de alojamiento de repositorios, como control de versiones, seguimiento de problemas y wikis. Gitea es fácil de instalar y configurar y es adecuado tanto para proyectos pequeños como grandes.

Algunas característias de Gitea

  • Control de versiones: Gitea es un sistema de control de versiones distribuido que utiliza Git como backend para realizar un seguimiento de los cambios en el código fuente y otros archivos.
  • Interfaz de usuario: Gitea cuenta con una interfaz de usuario amigable que facilita la navegación y la gestión de los repositorios y otros elementos.
  • Alojamiento de repositorios: Gitea permite alojar repositorios de forma local, en tu propia infraestructura, o en un servidor remoto, lo que brinda mayor flexibilidad y control.
  • Seguridad: Gitea ofrece varias medidas de seguridad, como autenticación de dos factores, control de acceso basado en roles, y encriptación de datos para proteger los repositorios y otros datos críticos.
  • Integración: Gitea se integra fácilmente con otros servicios de desarrollo de software, como Jenkins, Travis CI y Docker, lo que te permite automatizar los procesos de compilación, prueba y entrega.
  • Gestión de problemas: Gitea cuenta con un sistema de seguimiento de problemas integrado que te permite realizar un seguimiento de los problemas de código y otros problemas relacionados con el proyecto.
  • Colaboración: Gitea permite que varios usuarios trabajen juntos en un mismo proyecto, colaborando y compartiendo el trabajo de forma efectiva.
  • Personalización: Gitea es altamente personalizable, lo que te permite adaptarlo a tus necesidades específicas mediante la instalación de complementos, temas y otras extensiones.

Comparando con GitHub

Ventajas de Gitea frente a GitHub:

  • Gitea es una alternativa de código abierto y gratuita a GitHub, lo que lo hace más accesible para proyectos de software libre o para aquellas personas o empresas que no pueden permitirse el costo de GitHub.
  • Gitea es fácil de instalar y configurar, lo que lo hace una opción atractiva para aquellos que desean alojar sus propios repositorios en su propia infraestructura.
  • Gitea es más ligero y rápido que GitHub, lo que significa que puede ser una mejor opción para proyectos pequeños que no necesitan todas las funcionalidades avanzadas que ofrece GitHub.

Inconvenientes de Gitea frente a GitHub:

  • GitHub cuenta con una base de usuarios mucho más grande que Gitea, lo que significa que es más fácil encontrar colaboradores y proyectos similares para trabajar y contribuir.
  • GitHub cuenta con una interfaz de usuario más avanzada y una mayor cantidad de características, como integración con múltiples servicios, integración de comentarios y notificaciones, que pueden hacer que el trabajo sea más eficiente y rápido.
  • GitHub ofrece más herramientas de análisis y estadísticas de código, lo que puede ser útil para los equipos que desean evaluar la calidad y el rendimiento de su código.

¿Por qué Gitea ahora?

Te estarás preguntando cual es la razón para que precisamente te traiga Gitea ahora. Pues, bien, una de las características que diferenciaba a Gitea de otros servicios como GitHub o GitLab era precisamente las opciones de CI/CD. Y es que hasta realmente hace poco tiempo, Gitea no tenía opción para integración continua. En la versión 1.19, se han implementado las Gitea Actions, que son el equivalente directo de las GitHub Actions.

Hasta la fecha no he utilizado las GitHub Actions, porque he trabajado mas con GitLab, sin embargo, esto ha cambiado recientemente con la necesidad de crear imágenes Docker para distintas plataformas. Como he contando en algún que otro episodio del podcast, estoy implementando algunas aplicaciones en Rust, pero estoy atascado con la creación para, básicamente ARM-64. Lo que he visto, en GitHub, que esto otros desarrolladores, lo tienen resuelto precisamente con las GitHub Actions, y he comenzado a trabajar con ello.

Y como te puedes imaginar, al ver, que esto mismo, lo puedo hacer en mi propio servicio Gitea, me he emocionado y mucho. Y esta es precisamente la razón de contarte sobre Gitea.

Mi experiencia con Gitea

Te preguntarás para que ando utilizando Gitea, si la mayoría de lo que desarrollo lo puedes encontrar en GitHub o incluso en GitLab. Pues, sinceramente para lo que no quiero que veas. Si, lo que has leído, para lo que no quiero que veas. Por ejemplo, el guión de este podcast, que posteriormente terminará en atareao.es, está precisamente en Gitea. Y no solo el guión de este podcast, sino también los artículos, documentos, libros, y todo lo que produzco en bruto, se encuentra precisamente en este servidor. Es cierto, que posteriormente todo esto te lo ofrezco igualmente, pero, cuando ya está procesado.

Mi servicio de Gitea lo levanté hace prácticamente un año, y siempre ha estado en funcionamiento sin ningún tipo de problema. Lo cierto es que lo actualicé hace apenas unos días para cambiar a la versión 1.19, y empezar a trabajar sobre las Gitea Actions, y ver el partido que se le puede sacar, pero hasta la fecha no he tenido ningún problema.

Actualmente le estoy dando cinco usos diferenciados, por si te sirve de inspiración o simplemente por curiosidad,

  • Por un lado, para guardar todo lo relativo al proyecto atareao.es. Teniendo en cuenta que todas las notas, artículos, libros, guiones, etc, lo realizo en markdown, tengo la ventaja de que lo puedo trabajar allá donde esté, con tan solo acceder al servicio que tengo levantado en mi VPS.
  • Como servicio de notas del tipo Evernote. De esto ya te he hablado en algunas ocasiones, con aplicaciones como Zettel Notes y GitJournal. Sin embargo, ahora lo hago directamente, o bien utilizando el acceso vía web o bien a través de la aplicación que te comentaré mas adelante.
  • El siguiente uso, es para guardar información sensible que no quiero que esté disponible en un repositorio público ni privado de un tercero. Esto me permite tener una copia de seguridad, con la ventaja de que es una copia de seguridad versionada.
  • Otro caso de uso es como repositorio de playbooks de Ansible, que todavía no está maduro como para ver la luz.
  • Para mis pruebas… En ocasiones necesito algún sitio para hacer determinadas pruebas, como puede ser por ejemplo instalaciones directas de Python desde un repositorio o cosas similares. En estos casos estoy utilizando este servidor.

GitNex

Como te decía, hasta la fecha he probado diferentes herramientas Android, como Zettel Notes o GitJournal, para notas rápidas. Sin embargo, tal y como te conté en el episodio 461 titulado apasionados de las aplicaciones para tomar notas, estas aplicaciones las he reemplazado por Memos, para el cso de simplemente tomar una nota que no quiero olvidar.

Sin embargo, para el caso de querer editar algunas de las notas, tutoriales, etc, de atareao.es, cuando estoy fuera de casa, voy directamente a Gitea, y allí hago el trabajo. Esto lo puedo hacer directamente desde la propia página web, desde el propio servicio, o en su caso utilizando GitNex. Esta aplicación no la conocía hasta hace relativamente poco tiempo.

Se trata de una versión liberada bajo licencia GPLv3, y la tienes disponible tanto desde F-Droid, como desde Google Play. En el caso de Google Play, es de pago, pero es una excelente manera de apoyar el trabajo de los desarrolladores.


Más información,

3 comentarios en “Mi propio GitHub de la mano de Gitea

    1. AT
      atareao hace 1 año

      Si, pero no lo voy a hacer al menos a medio plazo hasta que vea cómo evoluciona.
      Hasta la fecha el proyecto de gitea sigue evolucionando al mismo ritmo, o al menos yo no he visto cambios significativos y sin embargo el proyecto de forgejo esta muy parado. Sólo están haciendo copiando los commits de gitea. Simplemente tienes que ver los commits en uno y otro proyecto. No lo tengo nada claro
      Saludos y muchas gracias por tu comentario

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *