GitHub操作:在工作流之间共享/引用作业

时间:2020-04-14 15:27:40

标签: github continuous-integration devops continuous-deployment github-actions

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之间复制粘贴相同的步骤。

1 个答案:

答案 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'