Copiar dados do dispositivo de rede com o cliente Windows

1

Estamos usando o Jenkins para testar nosso software no Windows e no Linux. Nosso servidor Jenkins (que não possui nenhuma unidade de dados montada) inicia um trabalho escravo Jenkins em uma de nossas máquinas Windows, que precisa obter dados de uma unidade de rede que precisa ser montada com diferentes credenciais de usuário.

Então, eu preciso de algo como

net use \server\share /u:username PASSWORD
copy data

O problema é que não quero escrever PASSWORD no meu script de execução do Jenkins.

No Linux, usamos um arquivo-chave SSH e scp para isso, mas qual é o equivalente para isso no Windows?

    
por fpnick 18.03.2016 / 17:20

1 resposta

0

Você pode usar a loja "Credentials" embutida do Jenkins apenas para isso. Basta criar um novo objeto "Credentials" (digite: nome de usuário e senha) e, em seguida, -

Se é um trabalho de pipeline:

withCredentials([usernamePassword(credentialsId: 'MyCredentialsObjectId', passwordVariable: 'CREDS_P', usernameVariable: 'CREDS_U')]) {
    bat """
        net use \server\share /u:%CREDS_U% %CREDS_P%
        REM copy data...
    """
}

Se for um trabalho de estilo livre, configure o objeto de credencial a ser usado na seção "ambiente de criação" e use uma etapa em lote da mesma maneira.

Credenciais serão mantidas com segurança dentro do Jenkins e nunca aparecerão no código. Além disso, o Jenkins fará com que as credenciais não vazem para a saída do console, substituindo nomes de usuários e senhas por asteriscos (***).

    
por 14.09.2017 / 22:59