如何在执行构建和部署之前在 Spring-Boot 应用程序的 application.properties 文件中注入 GitHub 密钥?
这是我当前的 YAML 文件:
name: Heroku deployment
on:
push:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Deploy to Heroku
uses: AkhileshNS/[email protected]
with:
heroku_api_key: ${{secrets.HEROKU_API_KEY}}
heroku_email: ${{secrets.HEROKU_EMAIL}}
heroku_app_name: event-handler
这是我的 application.properties 文件:
spring.datasource.url=
spring.datasource.username=
spring.datasource.password=
我当前注入一些环境变量来处理 Heroku 部署,我想更新我的 YAML 文件,以便还注入来自 GitHub 机密的数据库属性的值。是否可以使用类似的方法来做到这一点?尝试将 YAML 文件对齐为 application.properties 的尝试没有成功,看起来不太正确。
准备 application.properties 文件以进行字符串替换:
spring.datasource.url=<db_url>
spring.datasource.username=<db_username>
spring.datasource.password=<db_password>
并使用附加命令修改 yaml 文件:
name: Heroku deployment on: push: branches: [ master ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Update db url run: sed -i 's/<db_url>/${{ secrets.DB_URL }}/' src/main/resources/application.properties - name: Update db username run: sed -i 's/<db_username>/${{ secrets.DB_USERNAME }}/' src/main/resources/application.properties - name: Update db password run: sed -i 's/<db_password>/${{ secrets.DB_PASSWORD }}/' src/main/resources/application.properties - name: Deploy to Heroku uses: AkhileshNS/[email protected] with: heroku_api_key: ${{secrets.HEROKU_API_KEY}} heroku_email: ${{secrets.HEROKU_EMAIL}} heroku_app_name: event-handler