【问题标题】:GitHub Actions: sharing/referencing jobs between workflowsGitHub Actions:在工作流之间共享/引用作业
【发布时间】:2020-07-27 09:36:13
【问题描述】:

正如 here 所讨论的那样,在 GitHub Actions 中,有一种很好的方法可以使用 need 关键字在其他 jobs 中引用 jobs,例如

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

我在文档中找不到答案的问题是:有没有办法在其他工作流程中引用/分享jobs? (即单独的yml 文件)

我的项目由几个独立的工作流程组成,每个工作流程都需要执行相同的初始steps。我试图避免在不同的workflows 之间复制粘贴相同的步骤。

【问题讨论】:

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


    【解决方案1】:

    目前,我认为指定工作流之间的依赖关系是不可能的。 GitHub 社区论坛对此进行了讨论:

    How do I specify job dependency running in another workflow?

    您可以做的是使用相同的工作流文件,然后使用条件触发或不触发特定作业。

    如果您只想在推送到主分支时运行作业,您可以这样做:

       deploy:
           if: github.event_name == 'push' && github.ref == 'refs/heads/master'
    

    【讨论】:

    • 谢谢!我编辑了您的答案以包含讨论中最受好评的答案,因为我认为在大多数情况下这实际上是一个很好的解决方法。
    猜你喜欢
    • 1970-01-01
    • 2021-04-10
    • 2019-12-21
    • 2020-01-09
    • 1970-01-01
    • 2022-12-13
    • 2020-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多