Jor*_* RV 6 github github-actions
我\xe2\x80\x99m 将管道从 Circle CI 迁移到 Github Actions,我发现有点奇怪,我只能运行作业一次而不是创建作业,然后从工作流程部分调用它,从而可以调用多次作业,而无需重复该作业中的命令/脚本。
\n我的管道将代码推送到三个环境,然后对每个环境运行灯塔扫描。在 Circle ci 中,我有 1 项工作将代码推送到我的环境,还有 1 项工作来运行 lighthouse。然后,从我的工作流程部分,我只需调用作业 3 次,并将 env 作为参数传递。我是否遗漏了一些东西,或者没有办法在 github actions 中做到这一点?我是否只需在每个作业中写 3 次命令?
\nGitHub Actions 中的代码重用主要有 3 种方法:
显而易见的选择是使用“可重用工作流程”功能,该功能允许您将某些步骤提取到单独的“可重用”工作流程中,并将此工作流程称为其他工作流程中的作业。
strategy任何调用可重用工作流程的作业均不支持该属性。needs键进行作业排序来管理它)。GitHub 为我们提供的另一种可能性是workflow_dispatch事件,它可以触发工作流运行。简而言之,您可以手动或通过 GitHub API 触发工作流程并提供其输入。
Marketplace 上提供了一些操作,允许您触发“分派”工作流程作为“主”工作流程的一个步骤。
其中一些还允许以同步方式执行此操作(等到分派的工作流程完成)。值得一提的是,该功能是通过轮询存储库工作流状态来实现的,这不太可靠,尤其是在并发环境中。此外,它还受到 GitHub API 使用限制的限制,因此在查找已调度工作流程的状态方面存在延迟。
secrets.GITHUB_TOKEN不允许您调度工作流程。在这种方法中,我们将步骤提取到不同的复合操作,该操作可以位于相同或单独的存储库中。
从您的“主”工作流程来看,它看起来像一个常见的操作(单个步骤),但在内部它由多个步骤组成,每个步骤都可以调用自己的操作。
continue-on-error在复合操作中使用选项。来源:我的“DRY:在 GitHub Actions 中重用代码”文章
| 归档时间: |
|
| 查看次数: |
3821 次 |
| 最近记录: |