在我的config.groovy中,我的开发环境是......
development {
...
grails.resources.mappers.yuicssminify.disable = true
grails.resources.mappers.yuijsminify.disable = true
grails.resources.mappers.hashandcache.disable = true
grails.resources.mappers.zip.disable = true
}
当我从jenkins运行grails dev war
时,在某些情况下我需要额外的属性。这个属性是:
grails.plugin.jbossas.removeLog4jJars = false
我无法改变Config.groovy
中的开发环境。我有什么方法可以通过这个额外的财产吗?
答案 0 :(得分:1)
我认为最干净的解决方案将是你的詹金斯的新环境:
jenkins {
grails.plugin.jbossas.removeLog4jJars = false
}
如果这不是一个选项(如评论中所述),也可以将此配置值移动到系统特定的属性文件中:
grails.config.locations = ["file:/home/user/my-config.properties"]
在jenkins系统的my-config.properties
内你可以做到:
grails.plugin.jbossas.removeLog4jJars = false
其他系统的my-config.properties
个文件保持空白(我认为它们甚至不需要存在)。
如果这也不是一个选项,你可以做这样的事情(不太好):
development {
if (MyUtils.isJenkins()) {
grails.plugin.jbossas.removeLog4jJars = false
}
...
}
在MyUtils.isJenkins()
内,您必须确定您的应用程序在哪个系统上运行。例如:
class MyUtils {
public static boolean isJenkins() {
def env = System.getenv()
return env[IS_JENKINS]
}
}
此示例检查系统变量IS_JENKINS
是否已设置(您可以添加其他方法来确定您正在运行的系统)