Конвейер Jenkins: как загрузить заархивированный артефакт на более поздней стадии в конвейере Jenkins - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть трубопровод Дженкинса.

На этапе A у меня есть шаг, на котором мне нужно заархивировать или сохранить свои артефакты, потому что мне нужно повторно использовать их на другом этапе на другом подчиненном устройстве:

    stage('Save artifacts'){
        steps {
            archiveArtifacts artifacts: '**/**/target/app*.ear'
        }
    }

Архивация работает. Я вижу артефакты в пользовательском интерфейсе после завершения сборки и могу их скачать. Но как я могу получить доступ / загрузить эти артефакты на более позднем этапе?

1 Ответ

0 голосов
/ 18 сентября 2018

Вместо archiveArtifacts следует использовать stash и unstash.Например:

stage("Build") {
    steps {
        // ...
        stash(name: "ear", includes: '**/**/target/app*.ear')
    }
}

stage("Deploy") {
    steps {
        unstash("ear")
        // ...
    }
}

Не то, что stash не только хранит файлы, но и их пути.Так что unstash поместит файлы точно в те же места, где они были (например, my-service/target/app.ear).

...