Instalación dun sistema Trac con Subversion: Diferenzas entre revisións

De Wiki do Ciclo ASIR do IES de Rodeira
Saltar á navegación Saltar á procura
Liña 50: Liña 50:
{{boxinfo|''ABSOLUTE_PATH'' <u>sempre</u> debe almacenar o ''PATH'' completo da posición onde se atopan os scripts.}}
{{boxinfo|''ABSOLUTE_PATH'' <u>sempre</u> debe almacenar o ''PATH'' completo da posición onde se atopan os scripts.}}
;install.sh: Este script se encargará de crear toda a estructura de directorios e o host virtual de apache. Os repositorios se crearán mediante ''maketracrepo.sh''
;install.sh: Este script se encargará de crear toda a estructura de directorios e o host virtual de apache. Os repositorios se crearán mediante ''maketracrepo.sh''
;SvntoTarGz.sh: Este script se chama de xeito automático cando no comentario dun ''commit'' de subversion se indica #RELEASE(''version''), e crea un ficheiro ''.tar.gz'' con firmas ''md5'' e ''sha1''. O nome dos ficheiros e firmas será '''proxecto.''version''.tar.gz''', '''proxecto.''version''.md5''' e '''proxecto.''version''.sha1'''. Tamén manten os enlaces simbólicos ''latestsource'' e ''latestmd5'' apuntando aos últimos ficheiros xerados.
;SvntoTarGz.sh: Este script se chama de xeito automático cando no comentario dun ''commit'' de subversion se indica '''#RELEASE(''version'')''', e crea un ficheiro ''.tar.gz'' con firmas ''md5'' e ''sha1''. O nome dos ficheiros e firmas será '''proxecto_''version''.tar.gz''', '''proxecto_''version''.md5''' e '''proxecto_''version''.sha1'''. Tamén mantén os enlaces simbólicos ''proxecto.tar.gz'' e ''md5'' apuntando á última versión xerada no directorio ''REPOPATH/downloads/proxecto/''.


;maketracrepo.sh:Este script se encarga de crear novos repositorios con toda a infraestructura necesaria. A url de acceso será en ''http://virhost.virdomain/nomerepo'', e se chama do seguinte modo:
;maketracrepo.sh:Este script se encarga de crear novos repositorios con toda a infraestructura necesaria. A url de acceso será en ''http://virhost.virdomain/nomerepo'', e se chama do seguinte modo:

Revisión como estaba o 23 de xullo de 2014 ás 15:08

Introducción

Trac é unha interface web para sistemas de control de versións como git ou subversion e un xestor de incidencias, documentación wiki sobre o proxecto e xestor de desenvolvemento mediante hitos ou obxectivos. Con todo esto, é unha ferramenta de desenvolvemento colaborativo moi potente e de fácil uso, permitindo aos usuarios ver o código fonte dos proxectos e os seus cambios.

Instalaremos Trac en un sistema Debian Jessie, e automatizaremos no posible a creación de proxectos e a descarga dos mesmos dende o propio interface web.

Subversion é un sistema de control de versións que habilita a colaboración na elaboración de proxectos, levando un rexistro de cambios e permitindo a solución dos conflictos que poidan xurdir na edición simultánea. Aínda que git se está a impoñer hoxe en día como o sistema de control de versións dominante, subversion é aínda ampliamente utilizado e moi axeitado para a maior parte de proxectos.

Estructura

A estructura a empregar no noso sistema de desenvolvemento a partir do raíz da súa instalación, que poderá ser calqueira, será a seguinte:

[dir] scripts
      configure.sh
      install.sh
      SvntoTarGz.sh
      maketracrepo.sh
      index.html
      apache_config.conf
      logo.jpg
      post-commit
      post-repvprop-change
      trac.fcgi
[dir] downloads
      [dir] proxecto_A
      [dir] proxecto_B
      ...
[dir] trac
      [dir] common
            [dir] htdocs
                  [dir] site
                  [dir] common
      [dir] trac_site_proxecto_A
      [dir] trac_site_proxecto_B
      ...
[dir] svn_repo_proxecto_A
[dir] svn_repo_proxecto_B
  ...

A carpeta scripts almacenará os scripts para a automatización da creación de novos proxectos e das descargas asociadas. Os ficheiros e o seu cometido son os seguintes:

configure.sh
Almacena os valores de entorno da instalación do sitio para os proxectos. Por exemplo, no caso do IES de Rodeira:
TITLE="Trac, Forxa de Software"
REPOUSER="xavi"
REPOPATH="/home/xavi/repos"
VIRHOST="repos"
VIRDOMAIN="iesrodeira.com"
DEFAULTUSER="admin"
DEFAULTPASS="mypass"
Boxinfo info.png
ABSOLUTE_PATH sempre debe almacenar o PATH completo da posición onde se atopan os scripts.
install.sh
Este script se encargará de crear toda a estructura de directorios e o host virtual de apache. Os repositorios se crearán mediante maketracrepo.sh
SvntoTarGz.sh
Este script se chama de xeito automático cando no comentario dun commit de subversion se indica #RELEASE(version), e crea un ficheiro .tar.gz con firmas md5 e sha1. O nome dos ficheiros e firmas será proxecto_version.tar.gz, proxecto_version.md5 e proxecto_version.sha1. Tamén mantén os enlaces simbólicos proxecto.tar.gz e md5 apuntando á última versión xerada no directorio REPOPATH/downloads/proxecto/.
maketracrepo.sh
Este script se encarga de crear novos repositorios con toda a infraestructura necesaria. A url de acceso será en http://virhost.virdomain/nomerepo, e se chama do seguinte modo:
   maketracrepo.sh nomerepo [adminuser] [passuser]
Si non se indica adminuser e passuser, se utilizará o usuario e password indicada en configure.sh

O resto, son plantillas para a creación da estructura.

Boxinfo info.png
Estos scripts poden obterse no repositorio do IES de Rodeira

Instalación

Supoñemos unha instalaciónde apache funcional.

Trac e Subversion

apt-get install subversion trac

Configuración do Repositorio

Toda a configauración a realizará o script install.sh. Descargaremos os scripts e os descomprimiremos.

  tar -xvjf scriptstrac.tar.gz

Persoalizaremos o script configure.sh

#Título para solicitar a password
TITLE="Trac, Forxa de Software"
#Usuario que sera o propietario de todos os proxectos
REPOUSER="xavi"
#Path onde se aloxarán os proxectos. Os usuarios que traballen neles deberán ter acceso
REPOPATH="/home/xavi/repos"
#Nome do HOST de apache
VIRHOST="repos"
#Dominio do HOST de Apache. A URL para Apache será http://VIRHOST.VIRDOMAIN
VIRDOMAIN="iesrodeira.com"
#Este usuario e password terán dereitos administrativos sobre o proxecto creado si non se indica outra cousa.
DEFAULTUSER="admin"
DEFAULTPASS="mypass"

Executaremos install.sh, esto creará a estructura de directorios en REPOPATH e instalará os scripts necesarios para a creación de repos en REPOPATH/scripts. Tamén configurará o Host Virtual de Apache, debemos asegurarnos da correcta resolución DNS de VIRHOST.VIRDOMAIN.

Boxinfo info.png
Para crear un novo repositorio utilizaremos o script maketracrepo.sh nomerepositorio [usuario] [pass]. O usuario e pass son opcionais, e se non se indican serán os indicados en configure.sh.

Exemplo

Sitios de Interese

Páxina Oficial de Trac

Páxina Oficial de Subversion

Uso de Subversion