我可以将环境变量从 CircleCI 传递到 Spring Boot 中的代码吗?
Can I pass enviroment variable from CircleCI to code in Spring Boot?
我想在 Heroku 上部署时将 CircleCI 的环境变量放入 application-production.properties 文件。
应用-production.properties
jwt.secret-key=${JWT_SECRET_KEY}
registration.url=${REGISTRATION_URL}
spring.mail.host=${MAIL_HOST}
spring.mail.port=${MAIL_PORT}
spring.mail.username=${MAIL_USERNAME}
spring.mail.password=${MAIL_PASSWORD}
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
application.properties(只是为了确保我正确设置配置文件)
spring.profiles.active=production
.circleci/config.yml
version: 2.1
executors:
java-version:
docker:
- image: 'cimg/openjdk:11.0.7'
orbs:
maven: circleci/maven@1.0.0
heroku: circleci/heroku@1.0.1
workflows:
build_deploy:
jobs:
- maven/test:
executor: java-version
- heroku/deploy-via-git:
requires:
- maven/test
filters:
branches:
only: master
Heroku 日志:
...
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'MAIL_HOST' in value "${MAIL_HOST}"
...
我错过了什么吗?处理 credentials/sensitive 数据和处理 CI/CD 的最佳方法是什么?
它在本地工作(发送电子邮件)并且在 CircleCI 上通过了构建和部署,但是在 Heroku 上启动时它崩溃了。
在 Heroku 上部署时,最好使用 Config Vars 提供运行时配置变量。
确保变量名称是大写的并且与您在 属性 文件中定义的完全匹配。
我想在 Heroku 上部署时将 CircleCI 的环境变量放入 application-production.properties 文件。
应用-production.properties
jwt.secret-key=${JWT_SECRET_KEY}
registration.url=${REGISTRATION_URL}
spring.mail.host=${MAIL_HOST}
spring.mail.port=${MAIL_PORT}
spring.mail.username=${MAIL_USERNAME}
spring.mail.password=${MAIL_PASSWORD}
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
application.properties(只是为了确保我正确设置配置文件)
spring.profiles.active=production
.circleci/config.yml
version: 2.1
executors:
java-version:
docker:
- image: 'cimg/openjdk:11.0.7'
orbs:
maven: circleci/maven@1.0.0
heroku: circleci/heroku@1.0.1
workflows:
build_deploy:
jobs:
- maven/test:
executor: java-version
- heroku/deploy-via-git:
requires:
- maven/test
filters:
branches:
only: master
Heroku 日志:
...
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'MAIL_HOST' in value "${MAIL_HOST}"
...
我错过了什么吗?处理 credentials/sensitive 数据和处理 CI/CD 的最佳方法是什么?
它在本地工作(发送电子邮件)并且在 CircleCI 上通过了构建和部署,但是在 Heroku 上启动时它崩溃了。
在 Heroku 上部署时,最好使用 Config Vars 提供运行时配置变量。
确保变量名称是大写的并且与您在 属性 文件中定义的完全匹配。