Github 操作:无法访问属性文件中的值

Posted

技术标签:

【中文标题】Github 操作:无法访问属性文件中的值【英文标题】:Github Actions: Can not acces values in properties file 【发布时间】: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 值均为空。

谁能告诉我,为什么这些值为空?

【问题讨论】:

【参考方案1】:

感谢this 的帖子,我发现 apikey.properties 文件中缺少密钥。这就是我的修复的样子:

....
 - name: Acces API Keys
        run: |
          touch apikey.properties
          echo PUBLIC_API_KEY=$ secrets.PUBLIC_API_KEY  >> apikey.properties
          echo PRIVATE_API_KEY=$ secrets.PRIVATE_API_KEY  >> apikey.properties
          cat apikey.properties
...

【讨论】:

以上是关于Github 操作:无法访问属性文件中的值的主要内容,如果未能解决你的问题,请参考以下文章

解决2020-3-27 github无法访问

无法访问整数变量的属性

无法使用 github 操作部署 aws beanstalk,获得 s3 访问被拒绝错误

错误记录GitHub 网站和仓库无法访问 ( 域名重定向 | 检查 C:WindowsSystem32driversetchosts 配置文件中的 GitHub 地址域名配置 )

解决Github无法访问的问题

开发工具FastGithub解决GitHub无法访问文件无法下载的问题