Mostrando las entradas con la etiqueta git. Mostrar todas las entradas
Mostrando las entradas con la etiqueta git. Mostrar todas las entradas

Gitweb

Ahora si, un facil y divertido gitweb para nuestros repositorios en git... en ubuntu karmic koala (9.10) instalarlo es tan sencillo como esto:

sudo apt-get install gitweb

1. Gitweb es un simple cgi escrito en perl (gitweb.cgi) la instalacion lo coloca en /usr/lib/cgi-bin, podemos moverlo si gustamos ... por lo pronto lo dejare ahi.

2. Las imagenes y css los coloca en /var/www/ este es el DocumentRoot de Apache2, asi que recomiendo copiarlas en otro lugar para configurar un VirtualHost digamos que las copiamos a /home/git.miweb.com/docs

3. Tambien genera un archivo de configuracion (gitweb.conf) en /etc/ en el cual podemos algunas variables de las cuales nos interesa por lo pronto modificar solamente una $projectroot en el cual colocaremos el directorio donde tenemos nuestros proyectos, lo mas probable es que dependiendo la version de gitweb deba cambiarse alguna otra en mi caso no fue asi.

4. Para publicar el cgi en web configure un VirtualHost de la siguiente manera:


<VirtualHost *:8081 >
ServerName git.miweb.com
ServerAdmin webmaster@localhost

DocumentRoot "/home/git.miweb.com/docs"
DirectoryIndex index.html
ErrorLog /home/git.miweb.com/logs/error_log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /home/git.miweb.com/logs/access_log combined
ServerSignature on

<Directory>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

Alias /cgi-bin /usr/lib/cgi-bin
<Directory /usr/lib/cgi-bin >
Options ExecCGI FollowSymLinks
AddHandler cgi-script .cgi
DirectoryIndex gitweb.cgi
</Directory>
</VirtualHost>


Esta configuracion incluye sus propios logs, configura la carpeta para accesar a imagenes,css, js desde raiz con el DocumentRoot y configura cgi-bin para ejecucion de cgis con perl. Si se fijan tambien configuramos DirectoryIndex como index.html, este es un archivo que contiene lo siguiente:


<html>
<head>
<meta equiv="Refresh" content="0; URL=/cgi-bin/">
</head>
<body><h1>Direccionando a gitweb</h1></body></html>


Y esto se comporta asi: cuando accesamos http://git.miweb.com:8081 abrira index.html el cual direccionara a http://git.miweb.com:8081/cgi-bin/ que a su vez direccionara a gitweb.cgi que si se fijan esta definido como DirectoryIndex de cgi-bin y Voilá!! Tenemos funcionando gitweb en nuestro VirtualHost.

Interface web para git

Hace poco instale git en el server ubuntu que tengo en el trabajo, entonces me dispuse a buscar algunas herramientas gráficas via web, encontre varios ejemplos en varias páginas los cuales listare ahora, sin embargo la herramienta que instale fue viewGit que fue la que se dejó instalar mas rapidamente.

  • En primera una liga a varias interfaces para git, no tan solo web sino de escritorio etc, además de que es parte de una muy interesante guía de uso para git: http://git.or.cz/gitwiki/InterfacesFrontendsAndTools#gitweb.28distributedwithGit.29
  • GitWeb. Hasta donde entendí es la interface default de git, aqui podemos ver una guía util de instalación para un servidor debian o equivalente: http://www.tovar.net.ve/nelo/Tecnologia/Linux/gitpublico/
    yo no lo instale porque mi version de ubuntu es tan vieja que los repositorios no la contienen, todavia estoy buscando la forma de instalarlo pero no he podido bajar el código, aqui una liga al fork xmms de gitweb para que vean un ejemplo de como funciona esta interface: http://git.xmms.se/
  • git-php. Primero baje la version de esta página: http://code.google.com/p/git-php/ Pero hasta donde tengo entendido el autor siguio con el desarrollo por aca: http://people.proekspert.ee/peeter/git/git.php?p=git-php.git
    tuve problemas para instalarlo en primera porque me pedia instalar enscript el cual por razones del misterio no se dejó [Los siguientes paquetes tienen dependencias incumplidas:
    enscript: Depende: libpaper1 pero no es instalable
    ] entonces en lugar de ponerme a investigar y perder mas tiempo decidí brincarme a buscar otra interface...
  • cgit. Una muy interesante interface que podemos visualizar y descargar desde aqui: http://hjemli.net/git/ El problema que tuve con esta interface en primero es que me pedía la version 1.5.3 de git y en mi maquina tengo la 1.5.2, pense que tal vez por eso no se ejecutaba correctamente el make, entonces baje una versión mas antigua que soportara la 1.5.2... sin embargo siguió causando problemas extraños (ahora me decia que no tenia permisos para acceder aun siendo root... ) tambien queda pendiente por falta de tiempo...me gusta mucho su interface y los datos que muestra, aparte de hacerlo rapidamente.
  • viewgit. http://viewgit.sourceforge.net/ La interface ganadora!! jaja, fue tan sencillo instalarlo, tan solo con copiar la descarga a una carpeta donde apache interprete php, configurando el archivo /docs/localconfig.php [no olviden leer el docs/README ] direccionandolo a nuestro proyecto y listo.
Me gustaria que se pudiera limitar con login el acceso a las interfaces pero a ver si me da tiempo de ver que monerias tienen, lo mas problable es que me quede con viewgit porque mi jefe se pone de genio si me tardo mas de un día "perdiendo el tiempo en otras cosas" ...

To Be Continued...