Play 2和Cloudbees:无法将替换解析为值

Alb*_*urg 1 cloudbees playframework-2.1

我正在部署我的Play!2.1 Cloudbees上的应用.

我在我的application.conf中:

# Database configuration
# ~~~~~ 
db.default.driver=com.mysql.jdbc.Driver
db.default.url=${MYSQL_URL_DB}
db.default.user=${MYSQL_USERNAME_DB}
db.default.password=${MYSQL_PASSWORD_DB}
Run Code Online (Sandbox Code Playgroud)

我在Cloudbees配置中定义了这些值:

$ bees config:list -a myself/my-app 
Application Parameters:
  proxyBuffering=false
  MYSQL_URL_DB=jdbc:cloudbees://my-app
  MYSQL_USERNAME_DB=my-app
  MYSQL_PASSWORD_DB=yummy
Runtime Parameters:
  java_version=1.7
Run Code Online (Sandbox Code Playgroud)

我使用git(git push cloudbees cloudbees:master)发布我的应用程序,触发Jenkins.但是在部署应用程序时,我会进入Jenkins日志:

[error](compile:compile)com.typesafe.config.ConfigException $ UnresolvedSubstitution:conf/application.conf:16:无法解析替换为值:$ {MYSQL_PASSWORD_DB}

还有什么可以让Jenkins知道配置吗?我误解了什么吗?

谢谢你的帮助!

阿尔班

emr*_*kyv 6

你可以加 "?" 到开头,所以它将被视为一个覆盖.

db.default.url=${?MYSQL_URL_DB}
Run Code Online (Sandbox Code Playgroud)

如果您愿意,也可以使用此方法处理后备情况.

db.default.url=mysql://fallback_url
db.default.url=${?MYSQL_URL_DB}
Run Code Online (Sandbox Code Playgroud)

如果MYSQL_URL_DB不存在,将使用fallback_url.