Предоставить доступ к файлам рабочего пространства в журнале, когда работает Jenkins Build - PullRequest
0 голосов
/ 08 мая 2018

Мы хотим иметь конвейер, который строит наше приложение, а затем приостанавливает работу, и после того, как собранное приложение было вручную протестировано, оно возобновляет работу и доставляет протестированное приложение.

Итак, мне пришла в голову идея использовать Input для приостановки конвейера следующим образом:

...
stage ("Build"){
    // build application here and archive it as artefact
}
timeout(time:5, unit:'DAYS') {
    input message:'Approve deployment?'
}
stage ("Deliver"){
   // deliver the built application
}

У тестировщика есть 5 дней для тестирования приложения, затем возобновляется конвейер, и оно доставляется.

Моя проблема в том, что пока сборка еще выполняется, тестер еще не может получить доступ к артефакту на странице состояния.

Так есть ли способ предоставить какой-либо Download-Link в выводе журнала, который указывает на файл приложения, который я заархивировал на этапе сборки? Или есть какой-то другой хороший способ для достижения этого процесса сборки -> пауза-> тест-> резюме-> доставить в одном конвейерном задании?

Автоматизация теста в конвейере не является опцией, так как приложение должно быть вручную перепрошито на некоторых аппаратных средствах.

1 Ответ

0 голосов
/ 08 мая 2018

Это приведет вас к списку артефактов (вы можете добавить больше после artifact, если хотите, чтобы ссылка указывала на определенный файл):

...
timeout(time:5, unit:'DAYS') {
    echo "Archive available for download: ${env.BUILD_URL}artifact"
    input message:'Approve deployment?'
}

Для этого необходимо установить значение JENKINS_URL в конфигурации системы. В своем доме Jenkins нажмите Управление Jenkins -> Настройка системы и найдите Jenkins URL в разделе Jenkins Location

Если у вас нет доступа администратора к Jenkins, а JENKINS_URL не задан, вы можете выдумать это с помощью чего-то вроде

https://known-jenkins-url/job/${JOB_NAME}/${BUILD_NUMBER}/artifact
...