O documento discute como gerenciar projetos usando o Trac e SVN. Ele explica como configurar o Trac e SVN, criar projetos no Trac, integrar o Trac com SVN usando um script pós-commit, e como usar recursos do Trac como tickets.
1. Gerenciando
projetos com
Trac e SVN
Ramiro
Batista da Luz
Gerenciando projetos com Trac e SVN
Introdu¸˜o
ca
Controle de
vers˜o
a
Ramiro Batista da Luz
Usando o Trac
Bibliografia
Cˆmara Municipal de Curitiba
a
25 de junho de 2010
ramiroluz@gmail.com
1 / 15
2. Introdu¸˜o
ca
Gerenciando
projetos com
Trac e SVN
Ramiro
Batista da Luz
Introdu¸˜o
ca
Trac ´ um gerenciador de projetos escrito em python que pode
e
Controle de
vers˜o
a
ser integrado ` um sistema de controle de vers˜o.
a a
Usando o Trac
SVN ´ um sistema de controle de vers˜o, nasceu para ser um
e a
Bibliografia
avan¸o com rela¸˜o ao CVS que ´ um sistema de controle de
c ca e
vers˜o limitado, melhorando algumas falhas e limita¸˜es deste
a co
primeiro sistema de controle de vers˜o livre. [1].
a
2 / 15
3. Controle de vers˜o
a
Gerenciando
projetos com
Trac e SVN
Ramiro
Batista da Luz
Introdu¸˜o
ca CVS, o vovˆ
o
Controle de SVN. Melhor que o CVS, arquitetura cliente-servidor.
vers˜o
a
Usando o Trac Mercurial, hg. A ferramenta do Python, Google Code,
Bibliografia OpenJDK, Netbeans.
GIT. A ferramenta do Linus Torvaldas para gerenciar o
Kernel Linux.
Bazar, bzr. A ferramenta da Canonical, launchpad.
3 / 15
4. Criando reposit´rios
o
Gerenciando
projetos com
Trac e SVN Como fazemos para criar um novo reposit´rio?
o
Ramiro
Batista da Luz Com o svn, usamos a ferramentas svnadmin.
Introdu¸˜o
ca
# cd /var/svn
Controle de # svnadmin create meu_projeto
vers˜o
a
Usando o Trac
Bibliografia Com o mercurial, usamos a op¸˜o init caso se opte por ter um
ca
servidor central.
# cd /caminho/do/
# hg init meu_projeto
Ao final teremos um diret´rio vazio sob controle de vers˜o,
o a
com o nome meu projeto.
4 / 15
5. Obtendo os fontes
Gerenciando
projetos com
Trac e SVN
Ramiro
Batista da Luz Como fazemos para obter os fontes em outra m´quina?
a
Introdu¸˜o
ca Com o svn, usamos a op¸˜o checkout.
ca
Controle de
vers˜o
a $ svn checkout svn://SERVIDOR/var/svn/meu_projeto
Usando o Trac
Bibliografia Com o mercurial, usamos a op¸˜o clone.
ca
$ hg clone ssh://servidor:/caminho/do/meu_projeto
Ao final teremos um diret´rio com os arquivos do projeto na
o
m´quina local, o nome do diret´rio ser´ meu projeto.
a o a
5 / 15
6. Atualiza¸oes com SVN
c˜
Gerenciando
projetos com
Trac e SVN
Ramiro
Batista da Luz
Ap´s as mudan¸as, altera¸˜es ou novos arquivos podemos
o c co
Introdu¸˜o
ca
enviar as altera¸˜es ao servidor.
co
Controle de
vers˜o
a Com o svn, basta adicionar arquivos novos e usar o comando
Usando o Trac commit.
Bibliografia
$ svn add novo_arquivo.py
$ svn commit
Assim atualizamos o reposit´rio centralizado do svn.
o
6 / 15
7. Atualiza¸oes com Mercurial
c˜
Gerenciando
projetos com
Trac e SVN
Ramiro
Batista da Luz
Com o mercurial, os commits s˜o locais e para enviar ao
a
Introdu¸˜o
ca reposit´rio central(ou para um parceiro, pois o controle ´
o e
Controle de distribu´ıdo) usamos o comando push.
vers˜o
a
Usando o Trac $ hg add novo_arquivo.py
$ hg commit
Bibliografia $ hg push ssh://servidor:/caminho/do/meu_projeto
Assim atualizamos o reposit´rio em outra m´quina ou servidor
o a
central.
7 / 15
8. Como configurar o servidor web
Op¸oes do Apache
c˜
Gerenciando
projetos com
Trac e SVN Se faz necess´rio configurar o servidor web para cada projeto
a
Ramiro gerenciado pelo Trac, editando o arquivo:
Batista da Luz
/etc/apache2/sites-available/default
Introdu¸˜o
ca
Controle de
vers˜o
a Em distribui¸˜es debian ou derivadas, procure algo equivalente
co
Usando o Trac caso use outra distribui¸˜o linux.
ca
Bibliografia
ScriptAlias /trac-meu_projeto /usr/share/trac/cgi-bin/trac.cgi
<Location "/trac-meu_projeto">
SetEnv TRAC_ENV "/var/trac/meu_projeto"
</Location>
<Location "/trac-meu_projeto/login">
AuthType Basic
AuthName "MeuProjetoTrac"
AuthUserFile /var/trac/trac.htpasswd
Require valid-user
</Location>
8 / 15
9. Criando um novo projeto no Trac
Op¸oes de projeto
c˜
Gerenciando
projetos com
Inicializando o projeto, nesse ponte ser´ necess´rio informar o
a a
Trac e SVN caminho do reposit´rio de controle de vers˜o.
o a
Ramiro
Batista da Luz
# cd /var/trac/
# trac-admin meu_projeto initenv
Introdu¸˜o
ca # vi /caminho/do/trac/conf/trac.ini
Controle de
vers˜o
a
Usando o Trac As principais op¸˜es a serem alteradas s˜o (fonte: [2]):
co a
Bibliografia
[header_logo]
link = http://SERVIDOR/trac-meu_projeto/
src = site/banner_meu_projeto.png
[project]
descr = Descri¸ao do Meu Projeto
c~
footer = Rodap´ <br /><a href="http://SERVIDOR/meu_projeto/">Meu Projeto/</a>
e
icon = common/trac.ico
name = Meu Projeto
url = http://SERVIDOR/trac-meu_projeto
[trac]
repository_dir = /var/svn/meu_projeto
repository_type = svn
9 / 15
10. Limpando o ambiente do Trac
Op¸oes padr˜
c˜ a
Gerenciando
projetos com
Trac e SVN Removendo as configura¸˜es padr˜o do Trac, s˜o 4 milestones,
co a a
Ramiro 2 componentes e duas vers˜es.
o
Batista da Luz
Introdu¸˜o
ca # trac-admin meu_projeto milestone remove milestone1
# trac-admin meu_projeto milestone remove milestone2
Controle de # trac-admin meu_projeto milestone remove milestone3
vers˜o
a # trac-admin meu_projeto milestone remove milestone4
# trac-admin meu_projeto component remove component1
Usando o Trac # trac-admin meu_projeto component remove component2
# trac-admin meu_projeto version remove 1.0
Bibliografia # trac-admin meu_projeto version remove 2.0
Adicionando as suas pr´prias etapas(fonte: [2]):
o
# trac-admin meu_projeto milestone add ’Primeiro sprint de 2 semanas’ ’Fev 31, 2012’
# trac-admin meu_projeto component add meu_componente
# trac-admin meu_projeto version add 0.1
10 / 15
11. Integrando o trac e SVN
Gerenciando
projetos com
Trac e SVN
Ramiro
Batista da Luz Antes de continuar ´ necess´rio criar a integra¸˜o entre o Trac
e a ca
e o svn(fonte [4]):
Introdu¸˜o
ca
Controle de $ cd /caminho/do/svn/meu_projeto/hooks
vers˜o
a $ cp post-commit.tmpl post-commit
$ chmod 755 post-commit
Usando o Trac
Bibliografia
Agora com um editor de texto edite o script post-commit:
REPOS="$1"
REV="$2"
TRAC_ENV="/caminho/do/trac/meu_projeto"
/usr/bin/python /usr/local/bin/trac-post-commit-hook -p "$TRAC_ENV" -r "$REV"
11 / 15
12. Tickets no trac
Gerenciando
projetos com
Trac e SVN
Ramiro
Ap´s a configura¸˜o inicial, o uso di´rio do Trac ´ muito
o ca a e
Batista da Luz simples, normalmente s˜o criadas tarefas, melhorias ou erros
a
Introdu¸˜o
ca atrav´s de tickets.
e
Controle de
vers˜o
a
Usando o Trac
Bibliografia
12 / 15
13. Finalizando o ticket no Trac
Gerenciando
projetos com
Trac e SVN
Ramiro
Batista da Luz
Introdu¸˜o
ca Como o svn e trac foram integrados com aquele script,
Controle de post-commit, ao escrever a mensagem de commit do svn ´e
vers˜o
a
poss´ encerrar o ticket usando uma marca¸˜o especial, fix ou
ıvel ca
Usando o Trac
Bibliografia
refs. Veja os exemplos abaixo.
$ svn ci -m ’Corrigido problema na biblioteca antigravitacional. fix #1050’
$ svn ci -m ’Primeira parte do modulo de retorno ao campo gravitacional. refs #1051’
13 / 15
14. Conclus˜o
a
Gerenciando
projetos com
Trac e SVN
Ramiro
Batista da Luz
O Trac ´ uma ferramenta muito interessante para
e
Introdu¸˜o
ca
gerenciamento de projetos de software, principalmente,
Controle de
vers˜o
a software livre e serve bem para organizar e controlar mudan¸as,
c
Usando o Trac integrado ` um controle de vers˜o torna-se muito poderoso,
a a
Bibliografia com seus relat´rios e recurso de Wiki.
o
Para aqueles que se interessam pelo assunto sugiro que leiam o
guia do Trac, quem n˜o quiser ler o guia inteiro pode acessar
a
apenas os t´picos desejados [3].
o
14 / 15
15. Bibliografia
Gerenciando
projetos com
Trac e SVN [1] Andr´ Felipe Dias.
e
Ramiro Subversion.
Batista da Luz
http://www.pronus.eng.br/artigos_tutoriais/gerencia_
Introdu¸˜o
ca
configuracao/subversion.php.
Controle de
vers˜o
a
[2] EdgeWall.
Usando o Trac
Trac Admin.
Bibliografia
http://trac.edgewall.org/wiki/TracAdmin.
[3] EdgeWall.
Trac Guide.
http://trac.edgewall.org/wiki/0.11/TracGuide.
[4] EdgeWall.
Trac Install 0.11.
http://trac.edgewall.org/wiki/0.11/TracInstall.
15 / 15