0

在我的 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

}

当我grails dev war从詹金斯跑步时,在某些情况下我想要一个额外的财产。这个属性是:

grails.plugin.jbossas.removeLog4jJars = false

我无法更改Config.groovy. 有什么办法可以传入这个额外的属性吗?

4

1 回答 1

1

我认为最干净的解决方案将是您的詹金斯的新环境:

jenkins {
    grails.plugin.jbossas.removeLog4jJars = false    
}

如果这不是一个选项(如评论中提到的),也可以将此配置值移动到系统特定的属性文件中:

grails.config.locations = ["file:/home/user/my-config.properties"]

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(您可以添加其他方法来确定您在哪个系统上运行)

于 2013-07-30T18:26:10.647 回答