GitHub Action添加“需求”使用单独的工作流文件

发布于 2025-02-12 22:44:35 字数 333 浏览 0 评论 0原文

我有两个工作流程:

  • workflow1.yaml
  • workflow2.yaml

我在workflow2.yaml中添加了类似的内容:

jobs:
  build_kotlin:
    runs-on: [server1, server2, server3]
    needs: [workflow1]
    steps:
      - name: Checkout code
        uses: actions/checkout@v2

当前“需求”无法正常工作。如何参考单独的工作流yaml文件?

I have got two workflows:

  • workflow1.yaml
  • workflow2.yaml

I need in workflow2.yaml add something like:

jobs:
  build_kotlin:
    runs-on: [server1, server2, server3]
    needs: [workflow1]
    steps:
      - name: Checkout code
        uses: actions/checkout@v2

Currently "needs" doesn't work properly. How can reference separate workflow yaml file?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

佞臣 2025-02-19 22:44:35

需求仅用于建立作业之间的关系 - 而不是整个工作流程。

运行“ workflow2.yaml”

on:
  workflow_run:
    workflows: [workflow1]
    types:
      - completed

jobs:
  build_kotlin
    # ...

如果要在“ workflow1.yaml”之后 -workflows/events-tht-trigger-workflows#workflow_run“ rel =“ noreferrer”>触发工作流程的事件

另外,您可以进行workflow1 a 可重复使用的工作流程,然后确保它是在workflow之前执行的2像这样:

jobs:
  workflow1:
    uses: octo-org/example-repo/.github/workflows/workflow1.yaml@main

  build_kotlin:
    runs-on: [server1, server2, server3]
    needs: [workflow1]
    steps:
      - name: Checkout code
        uses: actions/checkout@v2

needs is only used to establish relationships between jobs -- not entire workflows.

If you want to run "workflow2.yaml" after "workflow1.yaml" has been completed, then add a trigger like so:

on:
  workflow_run:
    workflows: [workflow1]
    types:
      - completed

jobs:
  build_kotlin
    # ...

Read more on Events That Trigger Workflows

Alternatively, you could make workflow1 a reusable workflow and then make sure it is executed before workflow2 like so:

jobs:
  workflow1:
    uses: octo-org/example-repo/.github/workflows/workflow1.yaml@main

  build_kotlin:
    runs-on: [server1, server2, server3]
    needs: [workflow1]
    steps:
      - name: Checkout code
        uses: actions/checkout@v2

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文