小编Hau*_*ted的帖子

Github 操作:在单个运行器中运行多个作业或在作业之间共享工作空间

有什么方法可以在单个运行器中运行多个作业或在作业之间共享 Github 操作工作区?

在我的组织中,开发团队使用由多个团队创建和管理的多个可重用工作流程。团队build创建并管理build.yaml构建应用程序。我的团队创建并管理analysis.yaml对应用程序构建进行数据分析并对构建的工件进行归档。

开发团队计划在他们的应用程序工作流程中使用我们的两个工作流程。为了使我的团队的工作流程正常工作,我的工作流程需要访问构建的代码(构建target目录maven、构建build目录gradlenode_modules构建npm目录)。

  • 有没有办法在构建代码的运行器上运行我的可重用工作流程?
  • 有没有办法可以访问构建代码的工作区(我搜索了其他答案并了解到我可以使用操作uploadcache操作)。是否有其他方法可以完成此任务并在构建运行程序本身上运行可重用工作流程?
  • 通过复合操作而不是使用可重用工作流程可以更好地完成此任务吗?

我有下面的例子。

build.yaml

on:
  workflow_call
  inputs:
    build:
      description: Build type
      required: true

jobs:
  Build:
    runs-on: self-hosted
    steps:
      - name: Building apps
      - if: ${{inputs.build=='gradle'}}
        run: |
          gradle build

Run Code Online (Sandbox Code Playgroud)

analysis.yaml

on:
  workflow_call
  inputs:
    analysis:
      description: Build type
      required: true
      type: boolean

jobs:
  Build:
    runs-on: self-hosted
    steps:
      - name: Building apps
      - if: …
Run Code Online (Sandbox Code Playgroud)

github runner github-actions

21
推荐指数
2
解决办法
2万
查看次数

标签 统计

github ×1

github-actions ×1

runner ×1