GitHub Actions allows for parallel job execution to enhance workflow efficiency. By employing the "parallel" keyword, multiple jobs run concurrently, reducing task completion times. The article explores the maximum number of parallel jobs,
GitHub Actions 是一个用于自动化软件开发工作流程的强大工具。 GitHub Actions 如此强大的功能之一是运行并行作业的能力。对于可以分解为更小的独立步骤的任务来说,这可以节省大量时间。
要在 GitHub Actions 中运行并行作业,您需要在工作流程文件中使用 parallel
关键字。 parallel
关键字采用作业名称列表作为其参数。例如,以下工作流文件将并行运行两个作业 job1
和 job2
:
<code class="yaml">name: My Workflow on: [push] jobs: job1: runs-on: ubuntu-latest steps: - echo "Hello from job1!" job2: runs-on: ubuntu-latest steps: - echo "Hello from job2!"</code>
运行此工作流时,job1
和 job2
都将开始运行同时。一旦两个作业都成功完成,工作流程就会完成。
GitHub Actions 中可以同时运行的并行作业数量取决于关于您正在使用的跑步者的类型。对于自托管运行器,可以运行的最大并行作业数等于运行器上的 CPU 数量。对于 GitHub 托管的运行器,可以运行的并行作业的最大数量为 20。
是的,GitHub Actions 中的并行作业可以分享相同的秘密。要在并行作业之间共享秘密,您可以使用 secrets
上下文。 secrets
上下文是一个字典,其中包含工作流可用的所有机密。
要访问作业中的 secrets
上下文,您可以使用 secrets
关键字。例如,以下作业将打印 MY_SECRET
秘密的值:
<code class="yaml">name: My Job on: [push] jobs: job1: runs-on: ubuntu-latest steps: - echo "The value of MY_SECRET is: ${{ secrets.MY_SECRET }}"</code>
有几种不同的方法可以调试并行GitHub Actions 中的职位。一种方法是使用 actions/runner-debug
操作。此操作将打印有关运行器的许多有用信息,包括可用于作业的环境变量。
要使用 actions/runner-debug
操作,请将以下内容添加到您的工作流程文件中:
<code class="yaml">name: My Workflow on: [push] jobs: job1: runs-on: ubuntu-latest steps: - uses: actions/runner-debug@v1</code>
将 actions/runner-debug
操作添加到工作流程文件后,您可以运行工作流程并在 GitHub Actions 日志中查看输出。
在 GitHub Actions 中调试并行作业的另一种方法是运行 -vv
CLI 时使用 github-actions
标志。此标志将打印有关工作流程的大量附加信息,包括正在执行的步骤和正在使用的资源。
要使用 -vv
标志,请运行以下命令:
<code>github-actions -vv run workflow.yaml</code>
-vv
标志的输出有助于解决并行作业的问题。
以上是如何在 github actions 中运行并行作业的详细内容。更多信息请关注PHP中文网其他相关文章!