gpt4 book ai didi

github - 如何在 Github Actions 中访问 SECRETS 的值(value)?

转载 作者:行者123 更新时间:2023-12-03 14:10:19 34 4
gpt4 key购买 nike

我正在尝试访问 SECRET 的值s 发送到 GitHub Action,但我很挣扎。值返回为 [FILTERED]每次,无论键或原始值是什么。

我可以访问 ENVIRONMENT VARIABLES没有问题,所以我一定是在其他地方搞砸了。

本质上,我想要做的是将 ssh key 发送到我的操作/容器,但是在将任何其他 key /值作为 secret 发送时,我遇到了同样的问题。

我的(简化的)GitHub Action 如下:

action "Test" {
uses = "./.github/actions/test"
secrets = [
"SSH_PRIVATE_KEY",
"SSH_PUBLIC_KEY",
]
env = {
SSH_PUBLIC_KEY_TEST = "thisisatestpublickey"
}
}

Dockerfile:
FROM ubuntu:latest

# Args
ARG SSH_PRIVATE_KEY
ARG SSH_PUBLIC_KEY
ARG SSH_PUBLIC_KEY_TEST

# Copy entrypoint
ADD entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

入口点.sh:
#! /bin/sh

SSH_PATH="$HOME/.ssh"

mkdir "$SSH_PATH"
touch "$SSH_PATH/known_hosts"

echo "$SSH_PRIVATE_KEY" > "$SSH_PATH/id_rsa"
echo "$SSH_PUBLIC_KEY" > "$SSH_PATH/id_rsa.pub"
echo "$SSH_PUBLIC_KEY_TEST" > "$SSH_PATH/id_rsa_test.pub"

cat "$SSH_PATH/id_rsa"
cat "$SSH_PATH/id_rsa.pub"
cat "$SSH_PATH/id_rsa_test.pub"

这三个的输出 cat命令是:
[FILTERED]
[FILTERED]
thisisatestpublickey

如您所见,我可以获取(并使用)环境变量的值,但 secret 并未暴露。

有人有任何线索吗?

只是为了更新这一点,我还简单地尝试在 entrypoint.sh 中回显不带引号的两个 secret :
echo $SSH_PRIVATE_KEY
echo $SSH_PUBLIC_KEY

...在日志中,我看到了 $SSH_PRIVATE_KEY 的完整解密内容(即我的 ssh key 的实际内容)而 $SSH_PUBLIC_KEY仍然返回 [FILTERED] .

所以,我可以假设我们能够看到一个 Action 内部的 secret 内容,但我不知道为什么我只能看到其中一个,而另一个返回 [FILTERED] .

它是一个缓存的东西,也许?

我只是想找出一种可预测的方法来处理这个问题。

最佳答案

As you can see, I can get (and use) the value of the environment variables, but the secrets aren't being exposed.



那是因为它们是 secret 。 Actions 输出已明确清除 secret ,并且不会显示它们。

文件内容仍包含 secret 内容。

关于github - 如何在 Github Actions 中访问 SECRETS 的值(value)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54503807/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com