我們使用聲明式管道,最新的Jenkins。構建在一個docker slave容器中執行,它有maven和其他工具。我們目前Jenkinsfile類似於此:在不重建的情況下部署maven工件
stage('build') { steps { sh 'mvn clean install'} }
stage('test') { /* functional tests using a different tool */ }
stage('publish') {
steps {
// mvn clean deploy -DskipTests -DaltDeploymentRepository... (rebuilds, which we want to avoid, as its a multimodule project)
// withMaven(options:[artifactsPublisher()] { } ... (from maven-pipeline-plugin)
}
}
詹金斯經典模式有一個Maven插件的集成提供了一個部分「部署文物,Maven倉庫」,它採用的Maven RedeployPublisher只發布假象。我正在尋找一個相當於此的管道,我認爲maven-pipeline-plugin會這樣做,但無法找到一個例子。任何指針讚賞!
你面臨的問題是,在使用包含'install'階段的'deploy'的情況下,maven生命週期運行所有步驟...問題是你正在使用什麼樣的工具進行功能測試?爲什麼不使用Maven的集成測試階段? – khmarbaise
@khmarbaise是的,安裝階段是我們想要避免的。功能測試也是基於mvn的,但由於其他原因必須獨立於編譯運行。 – vasya10
@ vasya10您是否設法解決問題? – filip