如here所述,在GitHub Actions中,有一种很好的方式使用job
关键字引用其他job
中的need
,例如
name: Share data between jobs
on: [push]
jobs:
job_1:
name: Add 3 and 7
runs-on: ubuntu-latest
steps:
# Steps
job_2:
name: Multiply by 9
needs: job_1
# The rest of the job
我在文档中找不到答案的问题是:是否可以在其他工作流程中引用/共享job
? (即单独的yml
文件)。
我的项目由几个单独的工作流程组成,每个工作流程都需要执行相同的初始step
。我试图避免在不同的workflow
之间复制粘贴相同的步骤。
答案 0 :(得分:2)
目前,我认为无法指定工作流程之间的依赖关系。在以下GitHub社区论坛中进行了讨论:
How do I specify job dependency running in another workflow?
您可以做的是使用相同的工作流程文件,然后使用条件触发或不触发特定作业。
如果只想在按下master分支时才运行作业,则可以这样操作:
deploy: if: github.event_name == 'push' && github.ref == 'refs/heads/master'