【发布时间】:2021-10-22 18:32:20
【问题描述】:
我在访问 build.gradle 文件中的秘密变量时遇到了一些问题。我在 Github repo 设置中定义了两个秘密:PUBLIC_API_KEY 和 PRIVATE_API_KEY
在我的 actions.yml 文件中,我从秘密中读取它们,解码并写入 apikey.properties 文件
name: My fancy app
on: [ push, pull_request ]
defaults:
run:
shell: bash
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Clone Repo
uses: actions/checkout@v1
- name: Acces API Public Key
env:
PUBLIC_API_KEY: ${{ secrets.PUBLIC_API_KEY }}
run: echo "$PUBLIC_API_KEY" | base64 -d > ./apikey.properties
- name: Acces API Private Key
env:
PRIVATE_API_KEY: ${{ secrets.PRIVATE_API_KEY }}
run: echo "$PRIVATE_API_KEY" | base64 -d > ./apikey.properties
在我的 build.gradle 中,我从 apikey.properties 文件创建了一个属性对象,并尝试读取在上一步中保存的变量。这就是我的 build.gradle 文件中的样子
def apikeyPropertiesFile = rootProject.file("apikey.properties")
def apikeyProperties = new Properties()
try {
apikeyProperties.load(new FileInputStream(apikeyPropertiesFile))
println("Private Key value" + apikeyProperties['PRIVATE_API_KEY'])
println("Public Key value" + apikeyProperties['PUBLIC_API_KEY'])
} catch(Exception exception) {
println("Error by loading properties file" + exception.message)
}
....
buildConfigField("String", "PRIVATE_API_KEY", apikeyProperties['PRIVATE_API_KEY'])
buildConfigField("String", "PUBLIC_API_KEY", apikeyProperties['PUBLIC_API_KEY'])
构建失败,因为两个 apiKeyProperties 值均为空。
谁能告诉我,为什么这些值为空?
【问题讨论】:
标签: android gradle devops github-actions