我在Heroku上将Ktor应用部署为容器,并想set database properties through environment variables as discussed here
而不是将解析逻辑放入我的应用程序代码中,因为它似乎非常特定于Heroku。由于我将应用程序部署为容器,因此未为我定义JDBC变量(JDBC_DATABASE_URL
,JDBC_DATABASE_USER
和JDBC_DATABASE_PASSWORD
)。
是否可以将DATABASE_URL
解析为环境变量
在我的Dockerfile
或heroku.yml
中?用于提取它们的bash脚本如下所示:
#! /bin/bash
regex="postgres://([^:]+):([^@]+)@(.+)"
if [[ $DATABASE_URL =~ $regex ]]
then
export JDBC_DATABASE_USER="${BASH_REMATCH[1]}"
export JDBC_DATABASE_PASSWORD="${BASH_REMATCH[2]}"
export JDBC_DATABASE_URL="jdbc:postgresql://${BASH_REMATCH[3]}"
fi
但是我该怎么做才能使其在我的应用中作为环境变量可用?