como usar o arquivo de download bitsadmin.exe (Windows) do servidor Jenkins autenticado

1

Estou ciente de usar o seguinte comando para baixar arquivos do servidor Jenkins se o espaço de trabalho for acesso anônimo:

bitsadmin.exe /transfer replica /priority FOREGROUND http://1.1.1.1:8080/job/dump_data/ws/dump_data.zip %WORKSPACE%\dump_data.zip

Mas e se o servidor Jenkins for autenticado pelo nome de usuário / senha?

EDIT: / setcredentials funciona, mas um problema é que eu só posso usar / create, / addfile, / resume, then / complete. Como posso esperar até que a transferência termine e continue o script em lote?

EDITAR: Outras exibições de teste / setcredential não funcionaram. O teste anterior mostra que funciona porque o meu Jenkins permite acesso anônimo naquele momento. Eu capturei o pacote ao usar o bitadmin. Ele mostra que a solicitação http é HEAD sem nenhuma informação de credencial. Se eu usar curl-win para fazer o download, a solicitação http é GET com nome de usuário e senha de autenticação básica.

    
por valpa 25.11.2014 / 06:08

2 respostas

1

Se você precisar definir credenciais em um trabalho do BITS, use a opção /setcredentials .

 /SETCREDENTIALS job target scheme username password
     Adds credentials to a job.
     target may be either SERVER or PROXY
     scheme may be BASIC, DIGEST, NTLM, NEGOTIATE, or PASSPORT.

A excelente referência de comando ss64 para o BITSadmin pode ser encontrada aqui .

    
por 25.11.2014 / 15:49
0

Aqui está um script .bat correspondente à pergunta:

bitsadmin /Create DownloadDumpData
bitsadmin /SetCredentials DownloadDumpData target scheme username password
bitsadmin /AddFile DownloadDumpData http://1.1.1.1:8080/job/dump_data/ws/dump_data.zip %WORKSPACE%\dump_data.zip
bitsadmin /SetPriority DownloadDumpData "FOREGROUND"
bitsadmin /Resume DownloadDumpData
:WAIT_DUMP_DATA_DOWNLOAD_LOOP_START
    @rem state thanks to http://ss64.com/nt/bitsadmin.html & http://serverfault.com/a/646948/93281
    call bitsadmin /info DownloadDumpData /verbose | find "STATE: TRANSFERRED"
    if %ERRORLEVEL% equ 0 goto WAIT_DUMP_DATA_DOWNLOAD_LOOP_END
    call bitsadmin /RawReturn /GetBytesTransferred DownloadDumpData
    @rem sleep thanks to http://stackoverflow.com/a/1672375/535203
    timeout 2
    goto WAIT_DUMP_DATA_DOWNLOAD_LOOP_START
:WAIT_DUMP_DATA_DOWNLOAD_LOOP_END
call bitsadmin /Complete DownloadDumpData
    
por 27.04.2016 / 17:09