运行工作流程时如何屏蔽在 Github 中创建的环境变量?

Der*_*ing 11 python github environment-variables github-actions

我创建了一个 Github 工作流程,该工作流程使用 cron 计划运行 python 脚本。工作流的每次运行都会生成 access_token,下一次运行时需要该令牌。

为了保存令牌,Python 脚本将令牌写入文件GITHUB_ENV。在下一步中,我使用该hmanzur/actions-set-secret@v2.0.0操作将令牌保存到 Github Secret。一切正常。

我唯一的问题是,令牌作为环境变量显示在第二步的日志中。

这是工作流程文件的最小版本:

name: Tests
on:
  schedule:
    - cron: "0 1 * * *"
jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python: ['3.9']
    steps:
      - uses: actions/checkout@v1
      - uses: actions/setup-python@v1
        with:
          python-version: ${{ matrix.python }}
      - name: Install dependencies
        run: pip install -r requirements.txt
      - name: Run tests
        working-directory: ./src
        run: python -m unittest
        env:
          ACCESS_TOKEN: ${{secrets.ACCESS_TOKEN}}
      - uses: hmanzur/actions-set-secret@v2.0.0
        with:
          name: 'ACCESS_TOKEN'
          value: ${{env.ACCESS_TOKEN}}
          repository: Me/MyRepository
          token: ${{ secrets.REPO_ACCESS_TOKEN }}
Run Code Online (Sandbox Code Playgroud)

我尝试申请::add-mask::。添加echo "ACCESS_TOKEN=::add-mask::$ACCESS_TOKEN" >> $GITHUB_ENV仅添加::add-mask::到字符串中。

有没有办法屏蔽GITHUB_ENV我可以在第一步中应用的文件中的所有环境变量?在 python 中写入文件时可以对变量应用掩码吗GITHUB_ENV?或者有没有办法在工作流程中禁用环境变量的显示?

小智 9

你对“::add-mask::”的使用是错误的(不是你的错,我讨厌GHA doc)。

你需要做的是:

echo "::add-mask::$ACCESS_TOKEN" 
echo "ACCESS_TOKEN=$ACCESS_TOKEN" >> $GITHUB_ENV
Run Code Online (Sandbox Code Playgroud)