Trac + git
Introdução
editarTrac é uma ferramenta de gerenciamento e controle de mudanças em projetos de desenvolvimento de software. Auxilia no rastreamento das mudanças do projeto e quais os seus impactos. Ele foi desenvolvido em Python e está sobre a licença GPL desde meados de 2005.
Recursos
editarO Trac possibilita realizar o planejamento de um projeto incluindo milestones, roadmaps, sistema de wiki. Fornece interface com sistemas de controle de versão como Subversion, Git e Mercurial. Também é possível fazer links com páginas da wiki, bugs, tarefas, mensagens de commit. Outra funcionalidade importante é uma linha do tempo que mostra todos os eventos que foram realizados no projeto permitindo acompanhar o progresso do projeto.
Quem Usa o Trac?
editarProjetos Open Source | Educação e Governo | Companias | Ornanizações Internacionais |
---|---|---|---|
Django | NASA Langley Research Center | Agile42 | United Nations Office at Geneva |
Fedora hosted projects | University of Oxford | BitNami | IRTF / IETF |
JQuery | Fachhochschule Kärnten - Medical Information Technology | JavaParty |
Para uma lista completa dos usuários consulte: http://trac.edgewall.org/wiki/TracUsers
O que é um ticket e como ele funciona?
editarO Trac utiliza um sistema de tickets para criar e gerenciar as atividades de um projeto. Esse sistema fornece uma maneira simples de monitorar. Combinado com os roadmaps, fornecem o elemento central da gerencia do projeto. É através dos tickets que o Trac monitora tarefas, feature requests e bug reports.
Campos em um ticket:
- Reporter: o nome ou e-mail de quem criou o ticket, quem relatou a issue.
- Type: a categoria .
- Component: o modulo do projeto a que o ticket se refere.
- Version: a versão do projeto.
- Keyword: palavras chave.
- Priority: a importancia do ticket.
- Milestone: a release em que esse ticket tem que ser completado.
- Owner: o responsável pela issue.
- Cc: e-mails que serão notificados.
- Resolution: resume o motivo desse ticket ter sido fechado.
- Status: o estado atual do ticket.
- Summary: uma descrição breve da issue.
- Description: detalhes do motivo desse ticket ter sido criado.
Um ticket pode ser comparado a uma issue do github. Ambas são formas de rastrear atividades.
Instalação
editarNeste tópico contém instruções para a instalação da Ferramenta Trac versão 1.0. Caso seja necessário, acesse a página [1] com o guia de instalação para cada plataforma. Neste tutorial não estão descritas a instalação e configuração das dependências, confira os links para mais informações.
Dependências
editarPara a completa instalação do Trac, é necessário os seguintes pacotes de software instalados:
- Python (versão 2.5 ~ 3.0)
- setuptools (versão ≥ 0.6)
- Genshi (versão ≥ 0.6)
Também será necessário um banco de dados (SQlite, PostgreSQL ou MySql).
- SQLite
As versões de Python 2.5, 2.6 ou 2.7 já utilizam o banco SQLite pelo modulo sqlite3. Opcional: você pode instalar a nova versão do pysqlite. Mais informações PySqlite
- PostgreSQL
Instalação do PostgreSQL e o conector Python:
- PostgreSQL (versão 8.0 ou posterior)
- psycopg2 (versão 2.0 ou posterior)
Mais informações DatabaseBackend.
- MySQL
Instalação do MySQL e conector Python:
- O Trac tem a possibilidade de integrar com ferramentas de controle de versão como o Subversion e Git.
Instalação da Ferramenta Trac
editarNão será necessária a utilização de um web server pois a ferramenta já possui um standalone server, ou seja, possui um servidor próprio.
Instalação utilizando pip
editar'pip' é uma substituição do easy_install que é muito útil para instalar pacotes Python rapidamente. A instalação através do pip pode ser feita com os seguintes comandos:
$ pip install trac psycopg2
OU
$ pip install trac mysql-python
- Verifique se cabeçalhos específicos de seu sistema operacional estão disponíveis para pip construir automaticamente PostgreSQL ou MySQL.
Instalação utilizando easy_install
editarTrac também pode ser instalado através do easy_install a partir dos seguintes comandos:
$ easy_install Trac
- Instalar a última versão de desenvolvedor:
$ easy_install http://download.edgewall.org/trac/Trac-latest-dev.tar.gz
Criando um Ambiente de Projeto
editarUm ambiente Trac é o backend onde são guardados as informações das páginas wiki, ticket, report, configuração, etc.
Um novo ambiente é criado usando o comando trac-admin:
$ trac-admin /<diretorio_para_o_projeto> initenv
O sistema irá mostrar algumas informações da criação e pedirá o nome do projeto e a conexão com o banco de dados. Caso você não queira especificar nenhuma das opções, apenas pressione <ENTER>
Iniciando o Servidor Standalone
editarO ambiente de projeto criado pode ser acessado através de uma interface web com o seguinte comando:
$ tracd --port 8000 /path/to/myproject
Caso não ocorra nenhum erro, abra o browser acessando o link http://localhost:8000/ que abrirá a interface web da ferramente Trac
Configurando um Respositório Git
editarO suporte para Git está presente desde a versão 1.0 como um componente opcional: tracopt.versioncontrol.git. Você simplesmente tem que que ativar o plugin no arquivo <diretorio_do_projeto>/conf/trac.ini:
[components] tracopt.versioncontrol.git.* = enabled
É necessário ter o git instalado na máquina e um repositório local. Ainda no arquivo <diretorio_do_projeto>/conf/trac.ini altere os seguintes campos:
[Trac]
repository_type = git
repository_dir = <diretorio_do_repositorio_local>/.git
Para versões mais atuais Trac 1.1.3:
[repositories]
type = git
dir = <diretorio_do_repositorio_local>/.git
Principais Funcionalidades
editar- Busca de código fonte;
- Visualizar o histórico de alterações de um arquivo ou diretório;
- Realizando comparações entre dois arquivos ou diretórios (Diff);
- Exibir mudanças no projeto;
Configurando Autenticação
editarCriação de Usuário
editar- Instale recurso htpasswd provido pela Apache:
$ sudo apt-get install apache2-utils
- Crie um usário e senha:
$ sudo htpasswd -c /caminho/do/diretorio/.htpasswd admin
Exemplo:
$ sudo htpasswd -c /home/usuario/Documentos/myproject/.htpasswd admin
- Permisão de adminstrador para o usuário
$ trac-admin /home/usuario/Documentos/myproject permission add admin TRAC_ADMIN
$ cd /home/usuario/Documentos
$ tracd -p 8080 --basic-auth="myproject, myproject/.htpasswd, Testando" myproject/
Adicionando mais de um repositório ao projeto
editarFaça o login na aplicação com uma conta de administrador:
- Admin > Repositories
- De um nome e o local do repositório.
Referências
editarMurphy, David J (2007). Managing Software Development with Trac and Subversion. ISBN 978-1-847191-66-3