我们需要打包war、migrations dir和source。
我们首先运行"圣杯战争"然后我们运行"grails我们的包"
我们的包是grails中我们自己的打包脚本。
一直在尝试添加一个步骤,在不删除war文件等的情况下,从我们的grails应用程序下的目标目录中清除旧的构建工件。
target ("clean-old" : "cleans artifacts from prev.builds") {
println "cleaning up zips and tars"
ant.delete(file: "target/*.zip")
ant.delete(file: "target/*.gz")
}
以上内容无效-未删除任何内容。我们假设文件集就是答案,但却不知道如何使用它们。
例如,我们有这个:
ant.fileset(dir: "target") {
ant.include("*.zip")
ant.include("*.gz")
}
但是如何真正删除这些文件呢?
我们对此进行了盲目猜测:
ant.delete() {
ant.fileset(dir: "target") {
ant.include("*.zip")
ant.include("*.gz")
ant.include("*.tar")
}
}
但它抛出了一个错误。
有什么想法吗?
奖金问题
"grailswar"并没有删除旧的war。我不希望用户必须输入3个命令:
grails clean-old-war
grails war
grails our-package
如果我们能掌握当前战争文件的名称(即应用程序名称和应用程序版本),那么我们可能有一种方法可以删除所有战争文件,除了我们想要的"我们的包"中的文件
有没有一种方法可以从类似蚂蚁的构建脚本中获取app.version
有没有办法删除除指定战争以外的所有战争?
试错盛行,以下并不优雅,但有效:
println "cleaning up zips and tars"
ant.delete(dir:"target", includes: "*.zip")
ant.delete(dir:"target", includes: "*.gz")