CVS + ANT  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
brunohansen
JavaEvangelist
[Avatar]

Membro desde: 27/03/2006 11:11:34
Mensagens: 391
Offline

Ei sei que o ANT já era, a moda agora é MAVEN na mente! Mas o ANT me pareceu mais simples de aprender e mais acessível em primeiro instante. Como é o meu primeiro contato com esse tipo de ferramenta que tem mais poder que um simples MAKEFILE, optei por aprender primeiro a usar o ANT.

Tenho um servidor CVS rodando em uma máquina SUSE 9 com ssh2.

Não consigo fazer checkout através do ANT!

Será que estou fazendo merda?

Conteúdo do meu arquivo .cvspass


Minha tarefa CVS


Se alguém puder me ajudar! Serei muito grato!

Vou também anexar meu arquivo build.xml caso alguém queira dar uma olhada e comentar a respeito dele.

Valews.
 Nome do arquivo build.xml [Disk] Download
 Descrição
 Tamanho 8 Kbytes
 Baixado:  321 vez(es)

jtrvisll
HelloWorld
[Avatar]

Membro desde: 05/12/2007 14:41:31
Mensagens: 10
Offline

checkout cvs:

property:
cvs.login=?
cvs.server=?
cvs.root=?
cvs.protocol=ext (troca de chaves rsa com o servidor ./ssh )
cvs.line=:${cvs.protocol}:${cvs.login}@${cvs.server}:${cvs.root}

xml:
<cvs cvsRoot="${cvs.line}" dest="diretorio de destino" package="diretorio de checkout" />

s4nchez
Virtual Machine Man
[Avatar]

Membro desde: 05/06/2006 11:35:55
Mensagens: 674
Localização: London, UK
Offline

O problema neste caso pode ser a autenticação. Até onde eu sei a task do ant não trabalha diretamente em cima de SSH, então talvez você precise de um esquema de chave publica/privada, ou usar pserver, ou usar subversion!

Ivan Sanchez | coding dojo | blog | twitter
[WWW]
jtrvisll
HelloWorld
[Avatar]

Membro desde: 05/12/2007 14:41:31
Mensagens: 10
Offline

solução:

REM Vai para o diretório padrão do usuário.
cd %USERPROFILE%

REM Verifica o servidor de CVS, o nome de usuário é a senha
if "cvs_server" == "" set /p cvs_server=Entra o nome do servidor de CVS:
if "cvs_user_name" == "" set /p cvs_user_name=Entra o nome de usuário no servidor de CVS:
REM if "cvs_password" == "" set /p cvs_password=Entra a senah no servidor de CVS:

REM Gera as chaves RSAs no sub-diretório .ssh
REM Se não exista precisamos criar o diretório .ssh no servidor primeiro.
echo
echo Gerando chaves no sub-diretório .ssh com nome id_rsa.
echo A chave privada fica no arquivo %USERPROFILE%/.ssh/is_rsa .
echo A chave pública fica no arquivo %USERPROFILE%/.ssh/rsa.pub .
echo
ssh-keygen -t rsa -q -f ./.ssh/id_rsa -N ""

REM Transfira a chave pública ao servidor de CVS.
echo
echo Copiando a chave pública ao servidor.
echo Entra a sua senha no servidor CVS no prompt.
echo
scp .ssh/id_rsa.pub %cvs_user_name%@%cvs_server%:~/.ssh

REM Cópia a chave ao arquivo authorized_keys2. Caso já exista um arquivo de chaves
REM e estive desejável manter os valores do arquivo, é necessário primeiro
REM cópiar o arquivo à maquina local, adicaionar a chave nova, apagar o arquivo
REM no servidor e enviar a versão nova ao servidor.
echo
echo Copiando a chave ao arquivo de autorização, authorized_keys2 .
echo Qualquer versão anterior de authorized_keys2 vai ser sobre escrito.
echo Entra a sua senha no servidor CVS no prompt.
echo
scp %cvs_user_name%@%cvs_server%:~/.ssh/is_rsa.pub %cvs_user_name%@%cvs_server%:~/.ssh/authorized_keys2

REM Terminado
echo
echo Terminado
echo Para funcionar com CVS, definir o variável de ambiente
echo set CVS_RSH=ssh
echo
echo e utiliza o protocolo ext na definição do raiz de repositório.
echo Por exemplo:
echo > cvs -d :ext:%cvs_user_name%@%cvs-server%/<CVSROOT>
echo
:End
jtrvisll
HelloWorld
[Avatar]

Membro desde: 05/12/2007 14:41:31
Mensagens: 10
Offline

Troca de chaves de autenticação entre client/server!!
Autenticação indiferente de plataformas!!
windows==> intalar OpenSSH
então é só usar o protocolo ==> :ext
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team