gpt4 book ai didi

github - 为什么操作无法访问 secret ?

转载 作者:行者123 更新时间:2023-12-04 13:15:06 28 4
gpt4 key购买 nike

我正在尝试创建一个工作流,以使用 Github Actions 将 Nuget 包部署到 Github 包存储库。

在这种情况下,

  • 存储库位于组织内部
  • 我是那个组织的所有者
  • 我对存储库具有管理员访问权限
  • 存储库已列出 secret
  • 提交是我的
  • 提交是对分支的直接提交

  • 但是该操作无法访问 secret

    echo

    以下是我正在尝试执行的工作流程
    name: Build and Publish
    on:
    push:
    branches:
    - gh-packages
    jobs:
    build_and_publish:
    env:
    ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    name: Publish Packages to NuGet
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - uses: actions/setup-dotnet@v1
    with:
    dotnet-version: "3.0.100"
    - name: Dump Github Context
    env:
    CONTEXT: ${{ toJson(github) }}
    SECRETS: ${{ toJson(secrets) }}
    TOK: ${{ secrets.ACCESS_TOKEN }}
    TEST: ${{ secrets.TEST }
    run: |
    echo $ACCESS_TOKEN
    echo $TOK
    echo $TEST
    echo $GITHUB_TOKEN
    echo "$SECRETS"
    echo "$CONTEXT"
    - name: Setup Config
    run: sed "s/ACCESS_TOKEN/$ACCESS_TOKEN/g" .nuget.config > nuget.config
    - run: cat nuget.config
    - name: Build
    run: dotnet build -c Release
    - name: Publish
    run: chmod +x ./push.sh && ./push.sh

    GITHUB_TOKEN 和 ACCESS_TOKEN 等自定义 secret 都不起作用。

    添加 01:

    即使将环境变量名称设置为 GITHUB_TOKEN 也无法正常工作
    name: Build and Publish
    env:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    ...

    GITHUB_TOKEN

    最佳答案

    更新
    是的,这是可能的,但这是一种非常糟糕的做法。如果你必须,你可以使用以下命令,它规避了 Github 的安全措施,以防止 secret 泄露日志

    run: echo MYSECRET | sed -e 's/\(.\)/\1 /g'
    # this will print "M Y S E C R E T"
    只需更换 MYSECRET使用您尝试打印的 secret ,例如 $GITHUB_TOKEN .
    旧答案
    Checkout this other answer似乎这是 Github 操作的预期行为。

    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 内容。

    更新:
    这是关于如何将 secret 传递到行动步骤的常规约定。
    env: 
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    这就是我在行动中使用它的方式。
    enter image description here
    更新 2
    在此处查看有关如何打印 secret 的详细说明,但强烈建议您不要这样做。
    https://help.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets#limits-for-secrets

    关于github - 为什么操作无法访问 secret ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61308519/

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