【问题标题】:Github Secret not found in System.getenv在 System.getenv 中找不到 Github Secret
【发布时间】:2020-12-29 20:08:00
【问题描述】:

我的 Github 存储库设置中有 3 个秘密,一个动作 workflow.yml 文件,其中:

...
- name: Uploading to Bintray
   env:
     s1: ${{ secrets.SECRET_ONE }}
     s2: ${{ secrets.SECRET_TWO }}
     s3: ${{ secrets.SECRET_THREE }}
   run: ./gradlew bintrayUpload

还有我的deploy.gradle

configure<BintrayExtension> {
    var ossPwd = ""
    if (project.rootProject.file("local.properties").exists()) {
        ...
    } else {
        ...
        ossPwd = System.getenv("s3") ?: ""
    }

    pkg.apply {
    ...
        version.apply {
            if (ossPwd.isNotEmpty())
                mavenCentralSync.apply {
                    ...
                    password = ossPwd
            }
        }
    }
}

System.getenv("s3") 在正确获取 SECRET_ONESECRET_TWO 时抛出 null
有什么原因吗?

编辑: 我刚刚(第 10 次)删除了我的 SECRET_THREE 并创建了另外 2 个秘密。所有 4 个都已找到并正确使用...¯\_(ツ)_/¯

【问题讨论】:

  • 环境设置处于步骤级别,因此工作流程中的疑问会被覆盖。请检查您是否正确定义了秘密名称,或在您的运行命令中检查以确保它没有被覆盖。还将 s3 env 重命名为其他名称作为测试。
  • 我再次检查了所有机密,包括删除/创建。工作流程最后一步在上面发布,s3 它没有被覆盖。我的deploy.gradle 也不会覆盖 s3。 s1 和 s2 都可以,逻辑一样,太奇怪了……我用更多的代码更新了我的问题。
  • @GuilhE 你能否将s3 设置为System.getenv("s3") ?: "xxx",只是为了仔细检查它是在那里定义的,并且会有一个“xxx”值?
  • @GuilhE 确实很奇怪。我已将您的评论包含在答案中以提高知名度。
  • 很高兴你明白了。这类问题通常是机密错误。

标签: android gradle yaml github-actions bintray


【解决方案1】:

考虑到 GitHub Actions workflow syntax for env,我只能看到:

当使用相同名称定义多个环境变量时,GitHub 使用最具体的环境变量。

  • 在步骤中定义的环境变量将在步骤执行时覆盖同名的作业和工作流变量。
  • 为作业定义的变量将在作业执行时覆盖同名的工作流变量。

因此,请确保没有任何内容覆盖 SECRET_THREEs3 本身。


cmets 中提到的 OP:

我刚刚(第 10 次)删除了我的 SECRET_THREE 并创建了另外 2 个秘密。
所有 4 个都已找到并正确使用...¯\_(ツ)_/¯

我已经添加了这个:

println("s3"+System.getenv("s3").isNullOrEmpty+\
"s4"+System.getenv("s4").isNullOrEmpty

它显示了s3falses4false 并且有效。

【讨论】:

  • SECRET_THREE 是一个秘密而不是一个环境,所以这不适用。 OP 更有可能没有通过错字或在运行脚本中的某处覆盖 env s3 正确设置机密
  • @EdwardRomero docs.github.com/en/actions/configuring-and-managing-workflows/…:“要使秘密可用于操作,您必须将秘密设置为工作流文件中的输入或环境变量。”这就是 OP 所做的。跨度>
  • 是的,但是从运行命令可以看出他已经处于步骤级别。所以没有什么可以覆盖环境。如果他会在工作或工作流程级别添加它,我会同意你的回答。但他不是。
猜你喜欢
  • 2015-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多