GitBucket, un sistema de desarrollo colaborativo al estilo GitHub
GitBucket es un sistema de desarrollo colaborativo autohospedado que se asemeja a servicios como GitHub o GitLab, además de que cuenta con una interfaz bastante similar a estos. GitBucket se posiciona como un marco de desarrollo para sistemas para trabajar con repositorios Git. El sistema destaca por su fácil instalación, la capacidad de expandir la funcionalidad a través de complementos y la compatibilidad con la API de GitHub.
GitBucket viene con un conjunto de características de alcance que incluye, soporte para GitLFS, problemas, solicitud de extracción, notificaciones, sistema de complemento, repositorios públicos y privados de Git, además de que también se puede integrar fácilmente con LDAP para la gestión de cuentas y grupos. El código de GitBucket está escrito en Scala y tiene licencia bajo Apache 2.0.
De las principales características de GitBucket se destacan las siguientes:
- Soporte para repositorios Git públicos y privados con acceso a través de HTTP y SSH
- Soporte de GitLFS
- Interfaz para la navegación del repositorio con soporte para editar archivos en línea;
- La presencia de un Wiki para la preparación de documentación
- Interfaz para procesar mensajes de error
- Herramientas para procesar solicitudes de cambio
- Sistema de notificación por correo electrónico
- Un sistema simple de gestión de usuarios y grupos con soporte para la integración con LDAP
- Un sistema de complementos con una colección de complementos desarrollados por miembros de la comunidad.
En forma de complementos, se implementan características tales como crear notas generales, publicar anuncios, realizar copias de seguridad, mostrar notificaciones en el escritorio, trazar confirmaciones, dibujar AsciiDoc.
¿Cómo instalar GitBucket en Ubuntu server, Ubuntu desktop o derivados?
Como se mencionó al inicio GitBucket es un sistema de desarrollo colaborativo que es autohospedado, por lo que la instalación de este está dirigido a servidores, aunque también es posible poder realizar la instalación en versiones de escritorio de Ubuntu o algun derivado de este.
Solo hay que tomar en cuenta que en las instrucciones en lugar de colocar un dominio deberás usar la IP local en tu red doméstica, además debes contemplar la instalación adicional de paquetes necesarios para lanzar un servicio web (PHP, Apache, alguna base de datos compatible (MySQL o PostgreSQL). Te puedo recomendar que instales Xampp para Linux o el famoso Lamp.
Para realizar la instalación de GitBucket, primero debemos de contar con el paquete de java instalado en el sistema, por lo que si no cuentas con ello basta con ejecutar el siguiente comando:
sudo apt-get install default-jdk -y
Ahora vamos a crear un nuevo grupo y un usuario para poder ejecuta GitBucket
sudo groupadd -g 555 gitbucketsudo useradd -g gitbucket --no-user-group --home-dir /opt/gitbucket --no-create-home --shell /usr/sbin/nologin --system --uid 555 gitbucket
Hecho esto, ahora vamos a descargar la versión estable más actual que es la versión 4.33 desde el siguiente enlace o desde la terminal con wget:
wget https://github.com/gitbucket/gitbucket/releases/download/4.33.0/gitbucket.war
Una vez que se complete la descarga, tendremos que asignarle un espacio a GitBucket. Para ello vamos a teclear el siguiente comando:
mkdir /opt/gitbucket
Ahora, solo tenemos que mover el archivo descargado en el directorio recién creado:
mv gitbucket.war /opt/gitbucket
Ahora debemos dar permisos al usuario que creamos para que pueda trabajar sobre el directorio creado:
chown -R gitbucket:gitbucket /opt/gitbucket
Ya con ello, vamos a crear un servicio en el sistema para ello vamos a teclear:
sudo nano /etc/systemd/system/gitbucket.service
En el archivo vamos a colocar lo siguiente:
# GitBucket Service [Unit] Description=Manage Java service [Service] WorkingDirectory=/opt/gitbucket ExecStart=/usr/bin/java -Xms128m -Xmx256m -jar gitbucket.war User=gitbucket Group=gitbucket Type=simple Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.target
Guardamos con Ctrl + O y salimos con Ctrl + X y vamos cargar de nuevo todos los servicios con:
sudo systemctl daemon-reload
Y habilitamos el que creamos con:
sudo systemctl start gitbucket sudo systemctl enable gitbucket
Ya con el servicio habilitado e iniciado, debemos conectar la base de datos:
sudo nano /opt/gitbucket/database.conf db { url = "jdbc:h2:${DatabaseHome};MVCC=true" user = "sa" password = "sa" }
Y listo con ello ya se podrá acceder al servicio desde tu dominio entrando al espacio asignado http://tudominio.com:8080 o en una instalación local con localhost:8080
- Usuario: root
- Password: root
Finalmente se recomienda implementar una proxy inversa, pero el proceso difiere en Nginx, Apache o Candy. Puedes consulta la documentación al respecto en el siguiente enlace.