我正在尝试创建一个工作流来使用 Github Actions 将 Nuget 包部署到 Github 包存储库。
在这种情况下,
- 存储库位于组织内部
- 我是那个组织的所有者
- 我对存储库具有管理员访问权限
- 存储库列出了秘密
- 提交是我的
- 提交是对分支的直接提交
但是该操作无法访问机密
以下是我尝试执行的工作流程
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 之类的自定义机密都不起作用。
补充01:
即使将环境变量名称设置为 GITHUB_TOKEN 也无法正常工作
name: Build and Publish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
...