gpt4 book ai didi

spring-boot - 如何使用 manifest.yml 存储 application.properties 值以包含密码?

转载 作者:行者123 更新时间:2023-12-04 02:07:11 28 4
gpt4 key购买 nike

所以我的 application.properties 看起来像:

spring.datasource.url=jdbc:sqlserver://localhost:1433;databaseName=mydb
spring.datasource.username=user
spring.datasource.password=123456
spring.jpa.database-platform=org.hibernate.dialect.SQLServer2012Dialect

我不希望其他人在进入我的 application.properties 文件时能够看到我的用户名和密码。

有没有其他方法可以将值(value)推送到 Cloud Foundry?像 manifest.yml 这样的东西?

尝试创建 manifest.yml

我试图制作一个 list 文件,以便我可以将它与我在 Cloud Foundry 上的应用程序绑定(bind)。

VCAP_SERVICES =
{
"oraclesql": [
{
"name": "OrcaleDb",
"label": "oraclesql",
"tags": [
"oracledb",
"oracle",
"relational"
],
"plan": "free",
"credentials": {
"uri": "jdbc:sqlserver://localhost:1433;databaseName=mydb",
"username": "user",
"password": "123456"
}
}
]
}

已创建 application.yml

//this works
spring:
application:
name: tester
datasource:
driverClassName: jdbc:sqlserver://localhost:1433;databaseName=mydb
username: user
password: 123456
initialize: false
jpa:
databasePlatform: org.hiberate.dialect.Oracle10gDialect

最佳答案

是也不是。不幸的是,manifest.yml 并不是那样工作的。该文件提供将用于 cf push 的设置。它与应用程序无关,对 Spring、Java、您的编程语言或您选择的应用程序框架一无所知。因此它无法更改您的 application.properties 文件或其他特定于框架的配置。

幸运的是,有许多方法可以配置 Spring Boot(参见 here),其中之一是通过环境变量。幸运的是,您可以通过 manifest.yml 设置环境变量。因此,如果您在 manifest.yml 中设置了正确的环境变量,您就可以配置您的应用程序。

作为引用,以下是在 manifest.yml 中设置环境变量的说明。

https://docs.cloudfoundry.org/devguide/deploy-apps/manifest.html#env-block

大致是这样的:

---
...
env:
ENV_1: val_1
ENV_2: val_2

Spring Boot 将使用解释的规则将环境变量映射到属性 here .一个基本示例是 SPRING_DATASOURCE_USERNAME 映射到 application.properties 中的 spring.datasource.username

关于spring-boot - 如何使用 manifest.yml 存储 application.properties 值以包含密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42350039/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com