Instalación dun sistema Trac con Subversion: Diferenzas entre revisións
(Non se amosan 29 revisións do historial feitas polo mesmo usuario.) | |||
Liña 1: | Liña 1: | ||
==Introducción== |
==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. |
'''''[[wikipedia:Trac|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. |
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. |
||
Liña 7: | Liña 7: | ||
== Estructura == |
== 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: |
|||
<source lang='bash'> |
|||
[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 |
|||
... |
|||
</source> |
|||
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: |
|||
<source lang='bash'> |
|||
TITLE="Trac, Forxa de Software" |
|||
REPOUSER="xavi" |
|||
REPOPATH="/home/xavi/repos" |
|||
VIRHOST="repos" |
|||
VIRDOMAIN="iesrodeira.com" |
|||
DEFAULTUSER="admin" |
|||
DEFAULTPASS="mypass" |
|||
</source> |
|||
{{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'' |
|||
;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: |
|||
<source lang='bash'> |
|||
maketracrepo.sh nomerepo [adminuser] [passuser] |
|||
</source> |
|||
::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|Estos scripts poden obterse no [http://repo.iesrodeira.com/varios repositorio do IES de Rodeira]}} |
|||
== Instalación == |
== Instalación == |
||
Supoñemos unha instalaciónde ''apache'' funcional. |
|||
=== Trac e Subversion === |
|||
<source lang='bash'> |
|||
apt-get install subversion trac |
|||
</source> |
|||
=== Configuración do Repositorio === |
|||
== Scripts == |
|||
Toda a configauración a realizará o script ''install.sh''. Descargaremos os scripts e os descomprimiremos. |
|||
<source lang='bash'> |
|||
== Exemplo == |
|||
tar -xvjf scriptstrac.tar.gz |
|||
</source> |
|||
Persoalizaremos o script ''configure.sh'' |
|||
<source lang='bash'> |
|||
== Referencias == |
|||
#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" |
|||
</source> |
|||
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|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''. Se poderá acceder ao ''site'' do proxecto en ''<nowiki>http://VIRHOST.VIRDOMAIN/nomerepositorio</nowiki>'', e ao repositorio ''SVN'' en ''REPOPATH/nomerepositorio''}} |
|||
== Sitios de Interese == |
|||
[http://trac.edgewall.org/ Páxina Oficial de Trac] |
[http://trac.edgewall.org/ Páxina Oficial de Trac] |
||
[https://subversion.apache.org/ Páxina Oficial de Subversion] |
|||
[http://svnbook.red-bean.com/en/1.2/svn-book.html Uso de Subversion] |
Revisión actual feita o 23 de xullo de 2014 ás 15:10
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"
- 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.
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.