双冒号 :: 在 YAML for GitHub Actions 中代表什么?
What does double colon :: stand for in YAML for GitHub Actions?
我正在尝试使用 GitHub 操作在我的 GitHub 存储库中写入一个文件。在阅读文档时,我偶然发现了 this:
Actions can communicate with the runner machine to set environment
variables, output values used by other actions, add debug messages to
the output logs, and other tasks.
Most workflow commands use the echo
command in a specific format,
while others are invoked by writing to a file. For more information,
see "Environment files".
echo "::workflow-command parameter1={data},parameter2={data}::{command value}"
我不了解 Ansible,所以我不明白这是 YAML 语法还是 Ansible 语法。
我尝试搜索 Google 和 Stack Overflow,但没有找到双冒号或 ::
的结果
谁能给我 link 到 :: 的适当文档或解释这个命令的作用?
换句话说,我的 post 中的示例在 shell 中抛出了什么? data 和 parameter1 和 parameter2 在哪里定义(在 yml 中,在 shell/env 中)?命令值是我可以在 yml 或 shell 中重用的值吗?
::command
可以通过任何脚本或可执行文件记录到控制台。它们是特殊字符串,GitHub 运行程序将检测、解释然后对其采取适当的操作。
它们本质上是运行器与其当前所在的事物之间的通信机制运行。任何可以写入控制台的东西都可以发出这些字符串。
完全由您来构建这些 stings,注入这些 'magic strings' 运行所需的任何参数。
您找到的文档是关于这些的正确文档,可以帮助您了解如何记录字符串以及可以使用哪些命令。
如果您使用 JavaScript/Typescript 工具包构建 GitHub 操作,那么它会为这些命令提供很好的包装函数。 The JavaScript SDK also gives you a sneak peak into how to composekthese strings.
如果您正在构建复合操作、容器任务或直接从工作流中的脚本块发出命令,那么您需要构建正确的字符串并将它们记录到控制台。
更多详情:
- https://github.com/actions/toolkit/blob/main/packages/core/README.md
- https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions(你已经找到了)
通过控制台通信是几乎所有平台上任何工具 运行 之间的最小公分母,并且不需要进程间通信(如果有的话)。这是子进程与其父进程通信的最简单方式。
您将使用命令设置输出变量。
echo "::set-output name=name::value"
为了能够引用交叉处的值,您需要引用来自任何操作的任何输出变量。
或者为下一个作业设置一个环境变量:echo "action_state=yellow" >> $GITHUB_ENV
参见:
我正在尝试使用 GitHub 操作在我的 GitHub 存储库中写入一个文件。在阅读文档时,我偶然发现了 this:
Actions can communicate with the runner machine to set environment variables, output values used by other actions, add debug messages to the output logs, and other tasks.
Most workflow commands use the
echo
command in a specific format, while others are invoked by writing to a file. For more information, see "Environment files".echo "::workflow-command parameter1={data},parameter2={data}::{command value}"
我不了解 Ansible,所以我不明白这是 YAML 语法还是 Ansible 语法。 我尝试搜索 Google 和 Stack Overflow,但没有找到双冒号或 ::
的结果谁能给我 link 到 :: 的适当文档或解释这个命令的作用?
换句话说,我的 post 中的示例在 shell 中抛出了什么? data 和 parameter1 和 parameter2 在哪里定义(在 yml 中,在 shell/env 中)?命令值是我可以在 yml 或 shell 中重用的值吗?
::command
可以通过任何脚本或可执行文件记录到控制台。它们是特殊字符串,GitHub 运行程序将检测、解释然后对其采取适当的操作。
它们本质上是运行器与其当前所在的事物之间的通信机制运行。任何可以写入控制台的东西都可以发出这些字符串。
完全由您来构建这些 stings,注入这些 'magic strings' 运行所需的任何参数。
您找到的文档是关于这些的正确文档,可以帮助您了解如何记录字符串以及可以使用哪些命令。
如果您使用 JavaScript/Typescript 工具包构建 GitHub 操作,那么它会为这些命令提供很好的包装函数。 The JavaScript SDK also gives you a sneak peak into how to composekthese strings.
如果您正在构建复合操作、容器任务或直接从工作流中的脚本块发出命令,那么您需要构建正确的字符串并将它们记录到控制台。
更多详情:
- https://github.com/actions/toolkit/blob/main/packages/core/README.md
- https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions(你已经找到了)
通过控制台通信是几乎所有平台上任何工具 运行 之间的最小公分母,并且不需要进程间通信(如果有的话)。这是子进程与其父进程通信的最简单方式。
您将使用命令设置输出变量。
echo "::set-output name=name::value"
为了能够引用交叉处的值,您需要引用来自任何操作的任何输出变量。
或者为下一个作业设置一个环境变量:echo "action_state=yellow" >> $GITHUB_ENV
参见: