在System.getenv中找不到Github Secret

问题描述

我在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
            }
        }
    }
}
在正确获取 SECRET_ONE SECRET_TWO 时,

System.getenv("s3")会抛出null
有什么原因吗?

编辑: 我刚刚(第十次删除)我的SECRET_THREE并创建了另外两个秘密。找到了所有4个并正确使用了它们……¯\_(ツ)_/¯

解决方法

考虑到GitHub操作workflow syntax for env,我所看到的是:

当使用同一个名称定义了多个环境变量时,GitHub将使用最特定的环境变量。

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

因此,请确保没有任何东西可以覆盖Parse error: syntax error,unexpected 'mysqli_query' (T_STRING) in C:\xampp\htdocs\demo\argon-dashboard-master\CronScript.php on line 18 SECRET_THREE本身。


OP在评论中提到:

我刚刚(第十次删除)我的s3并创建了另外两个秘密。
找到了所有4个并正确使用了它们……SECRET_THREE

我添加了这个:

¯\_(ツ)_/¯

它显示println("s3"+System.getenv("s3").isNullOrEmpty+\ "s4"+System.getenv("s4").isNullOrEmpty 并且有效。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...