15
Gerenciando projetos com Trac e SVN Ramiro Batista da Luz Introdu¸c˜ ao Controle de vers˜ ao Usando o Trac Bibliografia Gerenciando projetos com Trac e SVN Ramiro Batista da Luz amara Municipal de Curitiba 25 de junho de 2010 [email protected] 1 / 15

Gerenciando projetos com Trac e SVN

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Gerenciando projetos com Trac e SVN

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

[email protected]

1 / 15

Page 2: Gerenciando projetos com Trac e SVN

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

Page 3: Gerenciando projetos com Trac e SVN

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

Page 4: Gerenciando projetos com Trac e SVN

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

Page 5: Gerenciando projetos com Trac e SVN

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

Page 6: Gerenciando projetos com Trac e SVN

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

Page 7: Gerenciando projetos com Trac e SVN

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

Page 8: Gerenciando projetos com Trac e SVN

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

Page 9: Gerenciando projetos com Trac e SVN

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

Page 10: Gerenciando projetos com Trac e SVN

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

Page 11: Gerenciando projetos com Trac e SVN

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

Page 12: Gerenciando projetos com Trac e SVN

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

Page 13: Gerenciando projetos com Trac e SVN

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

Page 14: Gerenciando projetos com Trac e SVN

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

Page 15: Gerenciando projetos com Trac e SVN

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