Gradle 将war任务连接到货物部署任务
我创建了一个gradle脚本,以便使用cargo插件在容器上部署可部署的: 尽管如此,我还是创建了几个任务,以便根据其范围创建自定义war文件:Gradle 将war任务连接到货物部署任务,gradle,Gradle,我创建了一个gradle脚本,以便使用cargo插件在容器上部署可部署的: 尽管如此,我还是创建了几个任务,以便根据其范围创建自定义war文件: task createQAWar(type: War, dependsOn: classes) { archiveName "webapi-demo-${versioning.info.display}.war" destinationDir = file("$buildDir/dist") webInf { ..
task createQAWar(type: War, dependsOn: classes) {
archiveName "webapi-demo-${versioning.info.display}.war"
destinationDir = file("$buildDir/dist")
webInf {
...
}
}
task createDevelopmentWar(type: War, dependsOn: classes) {
archiveName "webapi-dev-${versioning.info.display}.war"
destinationDir = file("$buildDir/dist")
webInf {
...
}
}
task createTestingWar(type: War, dependsOn: classes) {
archiveName "webapi-test-${versioning.info.display}.war"
destinationDir = file("$buildDir/dist")
webInf {
...
}
}
task createProductionWar(type: War, dependsOn: classes) {
archiveName "webapi-prod-${versioning.info.display}.war"
destinationDir = file("$buildDir/dist")
webInf {
...
}
}
我想链接deployDev任务选择createDevelopmentWar上生成的war工件
我已尝试将dependsOn属性设置为createDevelopmentWar:
如何设置cargo从以前的war类型任务createDevelopmentWar执行信息中拾取工件?dependsOn=createDevelopmentWar将调用setDependsOncreateDevelopmentWar,该调用预期任务不可用
dependsOn createDevelopmentWar将导致调用dependsOncreateDevelopmentWar,该调用需要varargs参数,因此应该将任务添加到依赖项中
如果你真的想用这个依赖项替换所有的依赖项,你必须像dependsOn=[createDevelopmentWar]那样做。谢谢@Vampire。我现在收到另一条消息。它从一个不正确的文件夹中提取工件。我编辑了这篇文章。有什么想法吗?按照你正在使用的插件的文档进行操作。默认情况下,它会从应用的war或ear任务中自动检测可部署项,但在您的情况下,这不适用,因此它找不到它试图部署的文件。定义一个可部署的自定义war,你会没事的。如果插件开发正确,并且在可部署闭包中使用filecreateDevelopmentWar作为文件,您甚至可以不显式指定dependsOn,但无论如何都应该隐式指定。我能够理解您的意思。尽管如此,我还是不太明白如何更改脚本,因为我是使用gradle的新手。你能提供一些帮助代码来说明如何获得它吗?我的意思是如何在类似deployDev的任务中创建一个可部署的。否则,我如何避免使用dependsOn并创建一种隐式的方法来实现这一点呢?正如我所说的,看看您使用的插件的文档。我帮不了什么忙,因为我不使用那个插件。我只是快速浏览了一下文档和代码,以尽可能好地回答您的问题,而不必深陷其中。
task createQAWar(type: War, dependsOn: classes) {
archiveName "webapi-demo-${versioning.info.display}.war"
destinationDir = file("$buildDir/dist")
webInf {
...
}
}
task createDevelopmentWar(type: War, dependsOn: classes) {
archiveName "webapi-dev-${versioning.info.display}.war"
destinationDir = file("$buildDir/dist")
webInf {
...
}
}
task createTestingWar(type: War, dependsOn: classes) {
archiveName "webapi-test-${versioning.info.display}.war"
destinationDir = file("$buildDir/dist")
webInf {
...
}
}
task createProductionWar(type: War, dependsOn: classes) {
archiveName "webapi-prod-${versioning.info.display}.war"
destinationDir = file("$buildDir/dist")
webInf {
...
}
}
remoteContainers.each { config ->
task "deployDev${config.name.capitalize()}"(type: com.bmuschko.gradle.cargo.tasks.remote.CargoDeployRemote) {
description = "Deploys WAR to remote Web Application Server: '${config.name}'."
containerId = config.container
hostname = config.hostname
port = config.port
username = config.username
password = config.password
dependsOn = createDevelopmentWar <<<<<<<<<<<<<<<<<
}
}
task createDevelopmentWar(type: War, dependsOn: classes) {
archiveName "webapi-dev-${versioning.info.display}.war"
destinationDir = file("$buildDir/dist")
webInf {
...
}
}