在GItHub工作流中为私有存储库使用机密

在GItHub工作流中为私有存储库使用机密,github,environment-variables,Github,Environment Variables,我正在尝试使用GitHub工作流处理这些秘密。我的设置是: 自由计划 私有组织 私人回购 组织范围内的秘密 问题是,当我像这样使用它时,该秘密的计算结果为空字符串: echo ${{ secrets.CI_TOKEN }} 有趣的是,工作流代码本身似乎是完全合法的,因为当我在repo范围中重写它时,它开始将秘密计算到*** 然后我发现了这个问题的可能原因。组织机密用户界面有点矛盾。首先,它说我不能在免费计划中使用秘密进行私人回购,但我可以选择第三个选项并手动选择该私人回购 所以我想

我正在尝试使用GitHub工作流处理这些秘密。我的设置是:

  • 自由计划
  • 私有组织
  • 私人回购
  • 组织范围内的秘密

问题是,当我像这样使用它时,该秘密的计算结果为空字符串:

echo ${{ secrets.CI_TOKEN }}
有趣的是,工作流代码本身似乎是完全合法的,因为当我在repo范围中重写它时,它开始将秘密计算到
***

然后我发现了这个问题的可能原因。组织机密用户界面有点矛盾。首先,它说我不能在免费计划中使用秘密进行私人回购,但我可以选择第三个选项并手动选择该私人回购

所以我想知道,当你手动选择回购时,免费计划是否真的支持私人机构的私人回购中的秘密

所以我想知道,当你手动选择它们时,这些秘密是否应该起作用

对于私人回购,需要明确选择它们

报告还提到:

除了
GITHUB_TOKEN
,当工作流从分叉存储库触发时,机密不会传递给运行者

用以下方法测试它们:

步骤:
-shell:bash
环境:
超级秘密:${secrets.SuperSecret}
运行:|
示例命令“$SUPER_SECRET”

我无意中在回购机密页面上发现了一些信息:

事实证明,为组织机密手动选择私有回购协议只是一个破坏和误导用户界面。你可以选择那些私人回购协议,但这是行不通的


我认为应该修改此UI,以将私人回购从该列表中排除。

当仅为组织而非回购定义机密时,您是否可以确认这对私人组织的私人回购中的免费计划有效?只有当我直接为回购协议设定秘密时,它才对我有效。当我删除回购秘密,只留下组织一,那么这个秘密就停止评估。@Kolyunya我同意。目前我无法测试它,但在组织级别定义时,它似乎不起作用。