Upload
ramiro-batista-da-luz
View
4.094
Download
1
Embed Size (px)
DESCRIPTION
Citation preview
Gerenciandoprojetos comTrac e SVN
RamiroBatista da Luz
Introducao
Controle deversao
Usando o Trac
Bibliografia
Gerenciando projetos com Trac e SVN
Ramiro Batista da Luz
Camara Municipal de Curitiba
25 de junho de 2010
1 / 15
Gerenciandoprojetos comTrac e SVN
RamiroBatista da Luz
Introducao
Controle deversao
Usando o Trac
Bibliografia
Introducao
Trac e um gerenciador de projetos escrito em python que podeser integrado a um sistema de controle de versao.
SVN e um sistema de controle de versao, nasceu para ser umavanco com relacao ao CVS que e um sistema de controle deversao limitado, melhorando algumas falhas e limitacoes desteprimeiro sistema de controle de versao livre. [1].
2 / 15
Gerenciandoprojetos comTrac e SVN
RamiroBatista da Luz
Introducao
Controle deversao
Usando o Trac
Bibliografia
Controle de versao
CVS, o vovo
SVN. Melhor que o CVS, arquitetura cliente-servidor.
Mercurial, hg. A ferramenta do Python, Google Code,OpenJDK, Netbeans.
GIT. A ferramenta do Linus Torvaldas para gerenciar oKernel Linux.
Bazar, bzr. A ferramenta da Canonical, launchpad.
3 / 15
Gerenciandoprojetos comTrac e SVN
RamiroBatista da Luz
Introducao
Controle deversao
Usando o Trac
Bibliografia
Criando repositorios
Como fazemos para criar um novo repositorio?
Com o svn, usamos a ferramentas svnadmin.
# cd /var/svn
# svnadmin create meu_projeto
Com o mercurial, usamos a opcao init caso se opte por ter umservidor central.
# cd /caminho/do/
# hg init meu_projeto
Ao final teremos um diretorio vazio sob controle de versao,com o nome meu projeto.
4 / 15
Gerenciandoprojetos comTrac e SVN
RamiroBatista da Luz
Introducao
Controle deversao
Usando o Trac
Bibliografia
Obtendo os fontes
Como fazemos para obter os fontes em outra maquina?
Com o svn, usamos a opcao checkout.
$ svn checkout svn://SERVIDOR/var/svn/meu_projeto
Com o mercurial, usamos a opcao clone.
$ hg clone ssh://servidor:/caminho/do/meu_projeto
Ao final teremos um diretorio com os arquivos do projeto namaquina local, o nome do diretorio sera meu projeto.
5 / 15
Gerenciandoprojetos comTrac e SVN
RamiroBatista da Luz
Introducao
Controle deversao
Usando o Trac
Bibliografia
Atualizacoes com SVN
Apos as mudancas, alteracoes ou novos arquivos podemosenviar as alteracoes ao servidor.
Com o svn, basta adicionar arquivos novos e usar o comandocommit.
$ svn add novo_arquivo.py
$ svn commit
Assim atualizamos o repositorio centralizado do svn.
6 / 15
Gerenciandoprojetos comTrac e SVN
RamiroBatista da Luz
Introducao
Controle deversao
Usando o Trac
Bibliografia
Atualizacoes com Mercurial
Com o mercurial, os commits sao locais e para enviar aorepositorio central(ou para um parceiro, pois o controle edistribuıdo) usamos o comando push.
$ hg add novo_arquivo.py
$ hg commit
$ hg push ssh://servidor:/caminho/do/meu_projeto
Assim atualizamos o repositorio em outra maquina ou servidorcentral.
7 / 15
Gerenciandoprojetos comTrac e SVN
RamiroBatista da Luz
Introducao
Controle deversao
Usando o Trac
Bibliografia
Como configurar o servidor webOpcoes do Apache
Se faz necessario configurar o servidor web para cada projetogerenciado pelo Trac, editando o arquivo:
/etc/apache2/sites-available/default
Em distribuicoes debian ou derivadas, procure algo equivalentecaso use outra distribuicao linux.
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
Gerenciandoprojetos comTrac e SVN
RamiroBatista da Luz
Introducao
Controle deversao
Usando o Trac
Bibliografia
Criando um novo projeto no TracOpcoes de projeto
Inicializando o projeto, nesse ponte sera necessario informar ocaminho do repositorio de controle de versao.
# cd /var/trac/
# trac-admin meu_projeto initenv
# vi /caminho/do/trac/conf/trac.ini
As principais opcoes a serem alteradas sao (fonte: [2]):
[header_logo]
link = http://SERVIDOR/trac-meu_projeto/
src = site/banner_meu_projeto.png
[project]
descr = Descric~ao do Meu Projeto
footer = Rodape <br /><a href="http://SERVIDOR/meu_projeto/">Meu Projeto/</a>
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
Gerenciandoprojetos comTrac e SVN
RamiroBatista da Luz
Introducao
Controle deversao
Usando o Trac
Bibliografia
Limpando o ambiente do TracOpcoes padra
Removendo as configuracoes padrao do Trac, sao 4 milestones,2 componentes e duas versoes.
# trac-admin meu_projeto milestone remove milestone1
# trac-admin meu_projeto milestone remove milestone2
# trac-admin meu_projeto milestone remove milestone3
# trac-admin meu_projeto milestone remove milestone4
# trac-admin meu_projeto component remove component1
# trac-admin meu_projeto component remove component2
# trac-admin meu_projeto version remove 1.0
# trac-admin meu_projeto version remove 2.0
Adicionando as suas proprias etapas(fonte: [2]):
# 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
Gerenciandoprojetos comTrac e SVN
RamiroBatista da Luz
Introducao
Controle deversao
Usando o Trac
Bibliografia
Integrando o trac e SVN
Antes de continuar e necessario criar a integracao entre o Trace o svn(fonte [4]):
$ cd /caminho/do/svn/meu_projeto/hooks
$ cp post-commit.tmpl post-commit
$ chmod 755 post-commit
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
Gerenciandoprojetos comTrac e SVN
RamiroBatista da Luz
Introducao
Controle deversao
Usando o Trac
Bibliografia
Tickets no trac
Apos a configuracao inicial, o uso diario do Trac e muitosimples, normalmente sao criadas tarefas, melhorias ou errosatraves de tickets.
12 / 15
Gerenciandoprojetos comTrac e SVN
RamiroBatista da Luz
Introducao
Controle deversao
Usando o Trac
Bibliografia
Finalizando o ticket no Trac
Como o svn e trac foram integrados com aquele script,post-commit, ao escrever a mensagem de commit do svn epossıvel encerrar o ticket usando uma marcacao especial, fix ourefs. 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
Gerenciandoprojetos comTrac e SVN
RamiroBatista da Luz
Introducao
Controle deversao
Usando o Trac
Bibliografia
Conclusao
O Trac e uma ferramenta muito interessante paragerenciamento de projetos de software, principalmente,software livre e serve bem para organizar e controlar mudancas,integrado a um controle de versao torna-se muito poderoso,com seus relatorios e recurso de Wiki.
Para aqueles que se interessam pelo assunto sugiro que leiam oguia do Trac, quem nao quiser ler o guia inteiro pode acessarapenas os topicos desejados [3].
14 / 15
Gerenciandoprojetos comTrac e SVN
RamiroBatista da Luz
Introducao
Controle deversao
Usando o Trac
Bibliografia
Bibliografia
[1] Andre Felipe Dias.Subversion.http://www.pronus.eng.br/artigos_tutoriais/gerencia_
configuracao/subversion.php.
[2] EdgeWall.Trac Admin.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