Quero fazer check-out de vários projetos SVN e preciso poder escolher os nomes de diretório para cada filial ou tronco.
Agora, quero verificar o projeto SVN chamado svn_name na pasta service_dir e, dentro dessa pasta, quero criar uma pasta de tronco e uma pasta de ramos com todos os ramos.
--- pasta SVN
-------- ramos
--------------- branch1_name
--------------- branch2_name
------- trunk_name
Eu tenho a seguinte estrutura do meu hash
$hash = {
'svn_name' => {
service_dir => 'directory_name',
branch => [ { branch => '0.1', branch_dir => 'branch1_name'},
{ branch => '0.2', branch_dir => 'branch2_name'} ],
trunk => { service_dir => 'trunk_name'},
}
}
Agora eu uso create_resources com o hash e meu tipo definido para criar as pastas necessárias e efetuar o checkout das cópias de trabalho.
O problema é que não consigo percorrer minha matriz de ramificações, não sei como acessar os valores dentro do hash.
define test (
$service_dir,
$branch,
$trunk
){
file { "/xxx/${service_dir}/branches/${branch[branch_dir]}":
ensure => present
}
}
Como faço para acessar as variáveis? Ou existe uma maneira muito mais fácil de conseguir isso? Não quero usar o vcsrepo ou módulos semelhantes, porque ainda sou novo no Puppet e preciso praticar.
Edit1: Eu provavelmente não preciso do hash para o tronco, certo? trunk => 'trunk_name' deve ser suficiente