Este tutorial mostrará como trabalhar, de forma integrada, com o sistema de controle de versão distribuído Git e a ferramenta de gestão de projetos Redmine. A instalação do Redmine foi vista no Tutorial Instalando o Gerenciador de Projetos Redmine usando o PostgreSQL sobre o nginx (http://marcelo.juntadados.org/node/view/tutorial-instalando-o-gerenciador-de-projetos-redmine-usando-o-postgresql--sobre-o-nginx). Este tutorial irá mostrar o básico de instalação e uso do DCVS Git e sua integração com o Redmine. Este tutorial é baseado no Debian Squeeze (6.0.3) e você precisa esta logado como root para executar parte deste tutorial.
1) Instalando o Git
Edite o arquivo /etc/apt/sources.list
nano /etc/apt/sources.list
Adicione ao arquivo
deb http://ftp.br.debian.org/debian squeeze main contrib
deb-src http://ftp.br.debian.org/debian squeeze main contrib
Atualize a listagem de pacotes local
apt-get update
Instale o Git
apt-get install git git-core
1.1) Iniciando um repositório no Git (Exemplo Básico)
Crie um diretório /root/tutorial
mkdir /root/tutorial
Inicie o repositório Git
git init /root/tutorial
Uma mensagem de sucesso deve aparecer
Initialized empty Git repository in /root/tutorial/.git/
Entre no diretório /root/tutorial
cd /root/tutorial
Crie um arquivo de texto (Digite qualquer coisa e saia salvando)
nano /root/tutorial/arquivo.txt
Adicione o arquivo ao repositório
git add /root/tutorial/arquivo.txt
Faço o Commit Local (Escreva uma mensagem sobre o que esta sendo commitado)
git commit -a
Visualize Log do Repositório
git log
1.2) Criando um repositório Bare (Público)
Utilizamos um repositório Bare como meio de centralizar um determinado repositório Git, este não é utilizado para trabalhar e sim um repositório de troca.
Crie um diretório para colocarmos o repositório Bare
mkdir /srv/git
Clone o repositório exemplo no formato Bare
git clone --bare /root/tutorial /srv/git/tutorial.git
Listando o repositório tutorial.git (ls /srv/git/tutorial.git/) teremos algo como
branches config description HEAD hooks info objects packed-refs refs
2) Integrando Repositório Git ao Redmine
Logue no Redmine
Selecione a Opção 'Administração' (Canto Superior Esquerdo) -> 'Configurações' -> 'Repositórios'
Caso não esteja marcado selecione na caixa 'SCM habilitados' a opção Git.
Na Caixa 'Referenciando tarefas nas mensagens de commit', defina o comportamento para as 'Palavras de fechamento' (fixes, closes) para que a 'Situação alterada' seja 'Fechada' e '% Terminado' 100%. Isto permitirá que quando enviamos um commit para o Git este possa fechar uma determinada tarefas que seja referenciada através do comentário com as palavras fixes ou closes. Veremos um exemplo mais para frente.
2.1) Agendando a verificação de mudanças em repositórios
Precisamos agendar uma tarefa para que o Redmine possa verificar se houve mudanças commitadas aos repositórios integrados.
Crie um Script Bash /opt/changeset.sh
nano /opt/changeset.sh
Adicione /opt/changeset.sh
#!/bin/bash
cd /opt/redmine-1.3.0 && /usr/bin/ruby1.8 script/runner "Repository.fetch_changesets" -e production
Mude a permissão e modo de acesso
chown www-data.www-data /opt/changeset.sh
chmod a+x /opt/changeset.sh
Agenda este script para ser executado a cada 1 minuto no crontab
nano /etc/cron.d/redmine
Modifique as permissões do /etc/cron.d/redmine
chmod a-wx /etc/cron.d/redmine
Acrescente ao cron
*/1 * * * * www-data /opt/changeset.sh 2> /dev/null
2.2) Crie um Projeto no Redmine
Selecione a Opção 'Administração' (Canto Superior Esquerdo) -> 'Projetos' -> 'Novo Projeto' (Canto Superior Direito)
Defina o Nome do Projeto e o Identificador (deve ter entre 1 e 100 caracteres. Letras minúsculas (a-z), números e hífens permitidos). Crie o Projeto.
Nas 'Configurações' do Projeto criado selecione 'Repositório'.
Escolha o Git como 'Controle de versão'
Em 'Caminho para o repositório' coloque o caminho até o repositório Bare que criamos no passo anterior
/srv/git/tutorial.git
Escolha a 'Codificação do caminho' como UTF-8 e marque a opção 'Relatar última alteração para arquivos e diretórios'
Selecione a opção 'Repositório' nas opções do Projeto (http://redmine.localhost/projects/tutorial/repository). Você deve ver a listagem de commits realizadas.
3) Testando a Integração
Crie uma 'Nova Tarefa' no Projeto. Grave o número da tarefa criada (Issue).
Faça o Clone do repositório Bare criado
git clone /srv/git/tutorial.git /root/testando
Entre no diretório do repositório clonado
cd /root/testando
Crie um arquivo em branco
touch /root/testando/teste.txt
Adicione ao repositório Git
git add /root/testando/teste.txt
Faça o commit adicionando a palavra de controle 'closes' seguida de # e o número do Ticket criado.
Exemplo de mensagem no commit
git commit -m 'Testando Fechamento de Ticket 4 - closes #4'
Faça o push (envio) das mudanças ao repositório Bare
git push -f
Após um minuto o Redmine deve atualizar a lista de tarefas em relação aos commits no Git, caso não ocorra clique na opção 'Repositório' para recarregar os commits. Visite a lista de 'Tarefas' do Projeto no Redmine, a tarefa aberta deve ter sido fechada e o commit deve esta associado ao Ticket.
Tutorial Controle de Versão usando Git integrado ao Redmine
27 de Janeiro de 2012, 0:00 - sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 819 vezes
0sem comentários ainda