nov 15 2008
Versionamento é com Subversion (Parte 1/2)
Pra quem não conhece, Subversion é um sistema de controle de versão, gratuito, open source, e é mantido pela Tigris.
Quando eu trabalhava sozinho, há uns 3 anos atrás, sempre me deparava com perguntas do tipo: “Quais formulários eu alterei??”, ou então na hora de compilar a versão release de um projeto: “Será que não esqueci de nada?”, foi quando conheci o Team Source, que é o controlador de versão da Borland, bastante conhecido entre os programadores Delphi.
Hoje digo com toda certeza que, todos os programadores deveriam utilizar um controle de versão, mesmo os que trabalham sozinhos, os benefícios são vários, entre eles:
- Controle do histórico de alterações.
- Marcar e resgatar versões estáveis.
- Trabalho em equipe.
Sendo assim, resolvi fazer este tutorial que auxilia na configuração deste cenário, e para isso, usarei as seguintes ferramentas:
- Visual SVN Server (É uma pacote que contém tudo que você precisa para instalar e gerenciar um servidor Subversion)
- Tortoise SVN (É uma ferramenta cliente, que auxilia o envio e o recebimento de arquivos do servidor Subversion)
Ok!! Então vamos lá…
1 - Baixe o Visual SVN Server, e inicie a instalação.
2 - Com ela, vamos instalar o servidor web Apache, o servidor do Subversion, o certificado de segurança para trafegarmos nossos arquivos via https, e o Visual SVN Server Manager, que é uma ferramenta que usaremos para gerenciar os projetos, usuarios e permissões no servidor do Subversion. Para isso, utilize as opções padrão da instalação, o bom e velho Next, Next e Finish.
3 - Com a instalação concluída, vamos agora configurar nosso projeto e dois usuários. Imaginaremos o seguinte cenário: Temos um projeto que se chama NomeDoSeuProjeto, e dois usuarios chamados ProgramadorUm e ProgramadorDois, o ProgramadorUm tem permissão de leitura e escrita no nosso projeto NomeDoSeuProjeto, e o usuário ProgramadorDois tem apenas permissão de leitura, ou seja, ele não poderá subir nenhum arquivo para o servidor, apenas baixar.
4 - Para isso abra o Visual SVN Server Manager através do menu iniciar.
5 - Na instalação do Visual SVN, ele define como padrão, que qualquer usuário tem permissão de leitura e escrita, em todos os projetos do servidor, não é isso que queremos atualmente, portanto temos que remover esta permissão. Para isso clique como o botão direito do mouse sobre Repositories>Properties…, selecione o grupo Everyone, clique em Remove, pra finalizar clique em OK. Pronto, definimos que apenas usuários autenticados tem acesso aos nossos projetos.
6 - Vamos agora criar um projeto no servidor, para isso clique com o botão direito do mouse sobre Repositories>Create New Repositorie…, em seguida defina o nome do projeto, que no nosso caso é NomeDoSeuProjeto, clique em OK. Pronto jé temos um Repositório (Projeto) criado no servidor do subversion.
7 - Agora temos que criar nossos dois usuários, para isso clique como o botão direito do mouse sobre Users>Create User…, em seguida defina o nome e senha do usuário, que no nosso caso é respectivamente ProgramadorUm e 123. Repita este processo e crie o usuário ProgramadorDois.
8 - Temos agora que definir as permissões de nossos dois usuários, então clique com o botão direito do mouse sobre o repositório NomeDoSeuProjeto>Properties…, em seguida na aba Security, clique sobre o botão Add…, selecione os dois usuários ProgramadorUm e ProgramadorDois, clique em OK. Finalmente vamos definir as permissões dos usuários, na mesma tela, clique sobre o ProgramadorUm e Permissions, escolha Read / Write, depois clique sobre o ProgramadorDois, escolha Read Only, e clique em OK. Suas permissões deverão ficar assim.
Pronto!! Temos agora o cenário definido anteriormente, configurado no servidor.
Você deve conseguir acessar o seu projeto pelo browser através do endereço https://localhost:8443/svn/NomeDoSeuProjeto.
O erro de certificado acontece porque não foi nenhum orgão reconhecido pelo navegador que emitiu o certificado de segurança, claro, porque quem emitiu o certificado foi você mesmo durante a instalação do Visual SVN Server, mas não se preocupe, os dados enviados e recebidos utilizaram conexão segura via https, mas se mesmo assim você deseja obter um certificado reconhecido pelo browser, basta procurar uma empresa que emite certificados e instala-lo no servidor.
Clique sobre continuar assim mesmo, digite o usuario e senha de algum dos usuários, e você verá a lista de arquivos do projeto, que por enquanto está vazia.
Vou mostrar como subir, baixar, excluir e altera arquivos na segunda parte do tutorial, usando o Tortoise SVN.
Por enquanto é isso pessoal, qualquer dúvida deixem um comentário, e até a próxima!



novembro 28th, 2008 at 09:38
Muito boa essa matéria. Me ajudou muito. São profissionais assim que me fazem adorar a área de informática. A troca de informações é uma coisa imprecindível na nossa área.
Abraço
dezembro 10th, 2008 at 22:03
Olá Vinícius.
Antes de tudo, muito bom o tutorial.
Tenho instalado o VisualSVN mas não consigo fazer a autenticação automática do usuário.
Minha intenção é criar um certificado digital para cada usuário e utiliza-lo como identificador do “usuário svn”.
Bom, estou tentando usar o OpenSSL para gerar os certificados e configurando o httpd.conf para usar o certificado, mas até agora “só derrota”.
Qualquer ajuda será de grande valia.
dezembro 11th, 2008 at 19:08
Olá Fabius, primeiramente, a versão do VisualSVN que você tem é a Server ou a Client?
Não entendi muito bem, como assim um certificado para cada usuário, pelo que sei, é apenas um certificado que é instalado no servidor, mas a própria instalação do VisualSVN se encarrega disso, não é necessário usar o OpenSSL.
Bom é isso, espero ter ajudado.
março 26th, 2009 at 14:56
Obrigada, Vinicius!
Sou iniciante em controle de versões, e depois de várias pesquisas e tentativas frustradas de instalar um servidor SVN, encontrei seu artigo, e consegui. Bom, quase. Agora falta um plugin Client de fácil utilização para o Visual Studio, mas já estou contente!!
março 26th, 2009 at 16:30
Oi Eloisa, obrigado.
Estou devendo a segunda parte do tutorial, onde vou explicar como usar o TortoiseSVN, que é uma ferramenta client que se integra com a shell do Windows.
Uso o Visual Studio também, e acho ela bem melhor do que qualquer plugin.
Assim que posta lhe envio um e-mail notificando.
abril 12th, 2009 at 11:51
Ola Vinicius.
Sou analista de sistemas a 5 anos e até então não utilizamos controles de versões na empresa. Agoara nosso quasdro de funcinários está crescendo e nossa preocupação com a segurança dos códigos fontes. Nossa preocupação é com programadores novos que nem sempre conhecemos as intenções então não podemos deixar aberto a todos baixar e copiar quando kiser o projeto todo.
Minha duvida á a seguinte:
“Como configurar o VisualSVN para que os usuários nao tenha acesso a nada, somente quando eu autorizar, ai sim eles terão acesso a projeto (somente a ele) e apos alterado e comitado retirar novamente as permissões dele para que ele aguarde o novo trabalho? Lembrando que nosso sistema é composto por varios executaveis separados e as vezes um executavel utiliza a Unit de outros projetos! Tem como configurar estas permissões de modo que dou permissão ao projeto que será alterado e caso ele utilize Units externas estas permissões já seja herdado e quando retirado a permissão do projeto mestre, tbm retirar as permissões das units externas?”
Aguardo Vinicius e desde já agradeço!
maio 30th, 2009 at 12:06
Cara depois de queimar pestana por mais de duas semanas pesquisando sobre controle de versão, finalmente encontrei o seu artigo, parabéns, até que enfim encontrei alguem que sabe explicar como ele funciona e como configurar, agora estou esperando pra saber como usar os clientes pois temos dois programadores em doi NotBook e um servidor e queremos configurar para acessarmos os doi com leitura/escrita.
agosto 10th, 2009 at 11:45
Vinicius,
Parabéns pelo excelente tutorial. Porém será que vc já disponibilizou a 2ª parte de como subir, baixar, excluir e altera arquivos, usando o Tortoise SVN
junho 17th, 2010 at 16:34
Meu amigo obrigado pela informação ae postada e os links! Show
julho 23rd, 2010 at 10:47
facil
simples
claro
parabens =)