Linux, SVN

Script para a criação de repositórios SVN


No artigo de hoje iremos criar um script para automatizar a criação de repositórios SVN. Lembrando que este script presume que você já possui um servidor SVN instalado.

O script está bastante comentado e intuitivo, mas em caso de dúvidas basta deixar um comentário.

#!/bin/bash

#### Criar repositórios SVN ####

#----- Setando Variaveis ------#

PROJETO='projeto' # Nome do projeto
PATHSUB='/etc/httpd/conf.d/subversion.conf'  # Localização do subversion.conf

#----- Criar Repositório ------#

mkdir /var/www/$PROJETO/

svnadmin create /var/www/$PROJETO

chown -R apache.apache /var/www/$PROJETO

chmod -R 777 /var/www/$PROJETO

#-- Criar Estrutura de Pastas /trunk, /branches e /tags --#

mkdir /tmp/$PROJETO
mkdir /tmp/$PROJETO/trunk
mkdir /tmp/$PROJETO/branches
mkdir /tmp/$PROJETO/tags

#-- Importar template de Pastas --#

svn import /tmp/$PROJETO file:///var/www/$PROJETO -m "initial import"

#-- Adicionar PATH ao subveversion.conf --#

echo '<Location /'$PROJETO'>' >> $PATHSUB
echo '		DAV svn' >> $PATHSUB
echo '		SVNPath var/www/'$PROJETO >> $PATHSUB
echo '		AuthUserFile /var/www/pass' >> $PATHSUB # Arquivo que contém os usuários do SVN
echo '		# apenas usuarios autenticados podem acessar o repositorio' >> $PATHSUB
echo '		Require valid-user' >> $PATHSUB
echo '		# Autenticando um usuario' >> $PATHSUB
echo '		AuthType Basic' >> $PATHSUB
echo '		AuthName "SVN Server"' >> $PATHSUB
echo  '</Location>' >> $PATHSUB

#-- Apagar o diretório temporário do template --#

rm -rf /tmp/$PROJETO

Após rodar o script, basta reiniciar o apache e seu repositório SVN estará funcional.

Para que quiser se aprofundar mais sobre o servidor SVN, é possível baixar gratuitamente e legalmente, o svn-book aqui

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s