Ubunlog David Naranjo  

GitBucket, un sistema de desarrollo colaborativo al estilo GitHub

GitBucket

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.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.