问题描述
我在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
并且有效。