我正在尝试使用严格的命令行命令在本地传递 env 变量。在部署时,这些变量被传递到 docker 容器中,但在本地运行时,它们不存在,需要在本地设置。
不过,在提交之前需要将它们删除,因为它们是访问密钥,所以我不希望它们暴露在回购协议中。这就是为什么在本地(没有 IDE)运行测试需要一个传递这些变量的命令。
我已经尝试过这个:
./gradlew clean build -Dspring.profiles.active=local -DMY_ENV_VAR1=xxxxxx -DMY_ENV_VAR2=xxxxxx
它似乎没有用。我找不到构建命令选项的文档,但我认为这就是你传递它们的方式。我在这里做错了什么?还是不可能?
原文由 heug 发布,翻译遵循 CC BY-SA 4.0 许可协议
用于传递环境变量
MY_ENV_VAR1=xxxxxx MY_ENV_VAR2=xxxxxx ./gradlew bootRun
对于参数/覆盖属性值
./gradlew bootRun --args='--spring.profiles.active=local --db.url=something --anotherprop=fafdf'
对于传递环境变量和覆盖属性值。
MY_ENV_VAR1=xxxxxx MY_ENV_VAR2=xxxxxx ./gradlew bootRun --args='--spring.profiles.active=local --db.url=something --anotherprop=fafdf'