Github ha muerto, larga vida a Github.

Hace varios años vengo utilizando Github, nunca he tenido problema alguno, desde que inicie con plataformas como la de SourceForge siempre creí que las comunidades de código abierto contribuyen al crecer de los desarrolladores.  Ahora con la compra de Github por parte de Microsoft veo únicamente un sombrío futuro de integraciones a plataformas cerradas.

Hace unos días vimos como Microsoft se apodera del nombre GVFS que es propiedad de Gnome. Y como se negaba a cambiar el mismo. Esto me demuestra una vez mas que Microsoft no ha cambiado ni ha de cambiar.

Por situaciones como estas he decidido tener una instancia de Gitea (fork de Gogs) instalada en nuestro servidor. Pueden ver el sitio funcionando en https://git.barrahome.org

Hoy, el rey a muerto, larga vida al rey.

Actualizar un repo de forma automática con Gitup y enviarlo a syslog

Instalamos gitup:

git clone https://github.com/bet0x/git-repo-updater
sudo python setup.py install

Agregamos un repo, por ejemplo:

git clone https://git.barrahome.org/bet0x/EmanonHostingPanel

Luego agregamos el repo al bookmark de git-repo-updater:

git --add ~/EmanonHostingPanel

Ahora por ejemplo, tengo una Raspberry la cual tiene el panel y quiero que baje las actualizaciones del repositorio cada 10 minutos, por ende ejecutó:

crontab -e

Agrego la siguiente línea:

*/10 * * * * /usr/local/bin/gitup 2>&1 | /usr/bin/logger -t gitup

Luego de 10 minutos, se ejecuta el comando y en syslog tendré la siguiente entrada:

mar 09 22:00:01 hotelcentral CRON[22378]: (alberto) CMD (/usr/local/bin/gitup 2>&1 | /usr/bin/logger -t gitup)
mar 09 22:00:03 hotelcentral gitup[22380]: gitup: the git-repo-updater
mar 09 22:00:03 hotelcentral gitup[22380]:
mar 09 22:00:03 hotelcentral gitup[22380]: /home/alberto/public_html (1 repo):
mar 09 22:00:03 hotelcentral gitup[22380]:     public_html:
mar 09 22:00:04 hotelcentral gitup[22380]:         Fetching origin: up to date.
mar 09 22:00:04 hotelcentral gitup[22380]:         Updating master: up to date.

Nuevo servicio de Git, alternativa a Github.

Desde hace mucho he venido utilizando Github, en su simplicidad y variedad he sabido encontrar el lugar para mis proyectos. Pero luego de alguno que otro error y dando prueba a otras alternativas me encontre con Gogs, Redmine, Gitea.

Este último, Gitea, es un fork directo de Gogs pero mantenido por la comunidad, para los que no saben, Gogs estaba mantenido por una sola persona y el progreso, cambios y arreglos era lento.

Para eso llegó Gitea, solucionando este último punto. Hace unos días tuve que migrar el servidor principal que utilizamos en Divalia S.A de C.V y decidí instalar Gitea integrado con cPanel sin romper el sistema entero.

La verdad, muy sencillo, luego con esta pequeña adaptación:

SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off

ProxyPreserveHost On
ProxyRequests off
ProxyPass / https://git.barrahome.org:3000/
ProxyPassReverse / https://git.barrahome.org:3000/

Ya pude lanzar mi servicio de Gitea (Git hosted service) para mis proyectos, el mismo esta alojado en https://git.barrahome.org/, integrado con cPanel sin “hacks” raros y con SSL (Let’s Encrypt). Clonado mediante HTTPS y SSH utilizando el sistema integrado a Gitea.

Para los curiosos e interesados en integrar Gitea con cPanel, editan /etc/apache2/conf.d/userdata/ssl/2_4/USUARIO/SUB_DOMINIO/gitea.conf

Agregan el codigo que puse de ejemplo arriba, antes crean el subdominio en su cPanel, ejecutan /usr/local/cpanel/scripts/rebuildhttpdconf y para finalizar /usr/local/cpanel/scripts/restartsrv_httpd y luego a disfrutar! (La integración con Let’s Encrypt es algo que deberan hacer ustedes mismos).