dry*_*ick 28 github github-actions
我正在尝试深入研究 GitHub 操作,等等 .ylm 文件,并了解我想回显一些环境变量的过程,例如${{ github.repository }}或或类似或任何其他的${{ github.repository_owner }}事件秘密,并在输出中我'${{ secrets.GITHUB_TOKEN }}我得到了***。
有没有办法强制输出显示实际值而不是星号?
开发者ylm
name: Dev
on:
workflow_dispatch:
push:
branches:
- dev
env:
BUILD_TYPE: core
DEFAULT_PYTHON: 3.8
jobs:
any_name:
runs-on: ubuntu-latest
steps:
- name: Any Name Bash Test Step
shell: bash
run: |
echo "GH_REPO: $GH_REPO"
echo "GH_REPO_O: $GH_REPO_O"
echo "GH_T: $GH_T"
env:
GH_REPO: ${{ github.repository }}
GH_REPO_O: ${{ github.repository_owner }}
GH_T: ${{ secrets.GITHUB_TOKEN }}
Run Code Online (Sandbox Code Playgroud)
输出
Run echo "GH_REPO: $GH_REPO"
echo "GH_REPO_O: $GH_REPO_O"
echo "GH_T: $GH_T"
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
BUILD_TYPE: core
DEFAULT_PYTHON: 3.8
GH_REPO: ***/core
GH_REPO_O: ***
GH_T: ***
GH_REPO: ***/core
GH_REPO_O: ***
GH_T: ***
Run Code Online (Sandbox Code Playgroud)
cản*_*yễn 42
name: This is an example
on: [pull_request]
jobs:
one:
runs-on: ubuntu-latest
steps:
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- name: Dump job context
env:
JOB_CONTEXT: ${{ toJson(job) }}
run: echo "$JOB_CONTEXT"
- name: Dump steps context
env:
STEPS_CONTEXT: ${{ toJson(steps) }}
run: echo "$STEPS_CONTEXT"
- name: Dump runner context
env:
RUNNER_CONTEXT: ${{ toJson(runner) }}
run: echo "$RUNNER_CONTEXT"
- name: Dump strategy context
env:
STRATEGY_CONTEXT: ${{ toJson(strategy) }}
run: echo "$STRATEGY_CONTEXT"
- name: Dump matrix context
env:
MATRIX_CONTEXT: ${{ toJson(matrix) }}
run: echo "$MATRIX_CONTEXT"
- name: Show default environment variables
run: |
echo "The job_id is: $GITHUB_JOB" # reference the default environment variables
echo "The id of this action is: $GITHUB_ACTION" # reference the default environment variables
echo "The run id is: $GITHUB_RUN_ID"
echo "The GitHub Actor's username is: $GITHUB_ACTOR"
echo "GitHub SHA: $GITHUB_SHA"
Run Code Online (Sandbox Code Playgroud)
Gui*_*urd 17
你不能显示secrets出来echo,否则会出现巨大的安全问题(即使使用env变量作为中介)。
但是,这适用于您使用的其他变量,您的情况的问题似乎与语法有关。您应该使用 run:echo "$GITHUB_REPOSITORY"并run: echo "$GITHUB_REPOSITORY_OWNER"直接在工作流程中查看它们。
注:${{ github.repository }}或${{ github.repository_owner }}也有效。
提示:您可以通过工作流程中使用的 Github 上下文来识别可以通过 echo 显示的大多数变量。run: echo "$GITHUB_CONTEXT"
例子:
如果变量打印为***(主要用于秘密变量),您可以使用将结果放入文件的脚本,并将文件上传到工件,如下所示:
name: "Save secrets variables"
on: [push, pull_request]
jobs:
one:
runs-on: ubuntu-latest
steps:
- name: "Echo in file"
env:
SECRETS_VARS: ${{ toJson(secrets) }}
run: echo "$SECRETS_VARS" > "secrets.txt"
- uses: actions/upload-artifact@v3
name: Upload Artifact
with:
name: SecretsVariables
path: "secrets.txt"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
78845 次 |
| 最近记录: |