如何在Spring boot应用程序的application.properties文件中注入github的秘密?

问题描述 投票:0回答:1

如何在执行构建和部署之前在 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 的尝试没有成功,看起来不太正确。

spring-boot yaml environment-variables
1个回答
0
投票

准备 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
© www.soinside.com 2019 - 2024. All rights reserved.