我通常把API密钥隐藏在一个XML文件中,用.gitignore
和getString()
函数来提取我的API密钥。
我正在尝试使用Github Actions自动化Gradle构建和Debug APK的发布。但由于XML文件未上传到仓库,因此显然会失败。
是否有一种方法可以将我的密钥存储在Github Secrets中,然后用密钥替换代码?
当前代码:headers["token"]= getString(R.string.token)
在Github Actions服务器中替换的代码:headers["token"]="MY_API_KEY_FROM_SECRETS"
这是我使用的YAML文件:
name: Gradle build test and release
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
#I'd like to replace the api key here in code from secrets
- name: Make Gradle executable
run: chmod +x ./gradlew
- name: Build with Gradle
run: ./gradlew build
- name: Build Debug APK
run: ./gradlew assembleDebug
- name: Releasing using Hub
uses: ShaunLWM/action-release-debugapk@master
env:
GITHUB_TOKEN: ${{ secrets.TOKEN }}
APP_FOLDER: app
RELEASE_TITLE: New Build
BODY: github.event.head_commit.message
prerelease: true
TOKEN
设置为环境中的某个内容,然后运行Perl单行命令来在计算机上测试它,并确保它执行您想要的替换。 - bk2204