Controle de versão usando Git integrado ao Redmine

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. Mostrarei o básico sobre instalação e uso do DCVS Git e sua integração
com o Redmine.

[ Hits: 16.909 ]

Por: Marcelo Soares Souza em 06/02/2012 | Blog: https://gitlab.com/marcelo-soares-souza


Controle de Versão usando Git integrado ao Redmine



Introdução

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.

Mostrarei 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 estar logado como Root para executar parte deste tutorial.

Instalação

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ça 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-se 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 tarefa 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 ao "/opt/changeset.sh":

 */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. 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.
   

Páginas do artigo
   1. Controle de Versão usando Git integrado ao Redmine
Outros artigos deste autor

Diaspora* no Debian Wheezy - Rede social livre e distribuída

Instalando gerenciador de projetos Redmine usando o PostgreSQL sobre o nginx

Servidor web nginx com PHP-FPM e memcached

OpenLDAP: Instalando um servidor de diretórios com replicação (SyncRepl)

Mapa da Cultura no Debian 7.0 - Instalação com Nginx usando Phusion Passenger

Leitura recomendada

ASP.NET no Linux

OpenSUSE 10.2 sempre atualizado

Horário de verão brasileiro até 2038

Restauração e registro do RedHat após utilização de repositórios CentOS

Aplicações Windows em ambiente Linux com SeamlessRDP

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário