После того, как я начал использовать плагин gradle для начальной загрузки в моем файле gradle.build, сборка не удалась на jenkins.
classpath("org.springframework.boot:spring-boot-gradle-plugin:2.0.2.RELEASE")
Все работает нормально, включая сборку, тестирование и веб-приложение, которое работает нормально с Jetty.Единственной проблемой является сбой сборки на Jenkins в задаче artifactoryPublish
.Там написано:
File '/var/lib/jenkins/jobs/release-my-project/workspace/build/libs/workspace-0.2.1-SNAPSHOT.jar' does not exists, and need to be published!
Не уверен, что происходит с задачей gradle artifactoryPublish
.Я думаю, что задача исходит от Дженкинса.
Перед использованием плагина gradle.build с пружинной загрузкой моя задача jar в gradle.build выглядит следующим образом:
jar {
baseName = 'my-project'
from {
configurations.compile.collect {
it.isDirectory() ? it : zipTree(it)
}
configurations.runtime.collect {
it.isDirectory() ? it : zipTree(it)
}
}
manifest {
attributes 'Main-Class':'com.example.Application'
}
// Exclude manifest signature files
exclude 'META-INF/*.SF', 'META-INF/*.DSA', 'META-INF/*.RSA', 'META-INF/LICENSE'
}
Поскольку плагин gradle пружинной загрузки отключаетЗадача jar и заменяет ее задачей bootJar, поэтому я настроил задачу bootjar следующим образом:
bootJar {
baseName = 'my-project'
mainClassName = 'com.example.Application'
// Exclude manifest signature files
exclude 'META-INF/*.SF', 'META-INF/*.DSA', 'META-INF/*.RSA', 'META-INF/LICENSE'
}
Одна вещь, которую я заметил из журнала jenkins, - это то, что в нем говорится, что файл workspace-0.2.1-SNAPSHOT.jar
не существует.Похоже, что он ищет не тот файл.Ранее он искал правильный файл my-project-0.2.1-SNAPSHOT.jar
.Когда я построил локально, этот файл JAR был создан.Не уверен, что заставило Дженкинса искать workspace-0.2.1-SNAPSHOT.jar
.Это должно быть my-project
, как я определил baseName внутри задачи bootJar.
Есть идеи, что здесь не так?Спасибо.