簡體   English   中英

如何為 monorepo 的 github 操作指定工作目錄

[英]How to specify working directory for github actions for monorepo

最近我從多個存儲庫切換到一個 monorepo,我正在嘗試重寫我的工作流程以使用 monorepo。 我想為作業指定我的子項目的路徑。 例如,我有以下工作。

- name: Gradle Build
      uses: eskatos/gradle-command-action@v1
      with:
        arguments: build test --stacktrace --info

如何從特定的子目錄運行它? (或者,如果可能,我想為文件中的所有作業指定一個基本目錄)

先感謝您。

您可以為步驟或整個作業指定工作目錄https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsrun

jobs:
  job1:
    runs-on: ubuntu-latest
    defaults:
      run:
        shell: bash
        working-directory: [base-directory]

    steps:
      - name: step1
        run: [cmd]
        working-directory: ./dir1

    - name: step2
        run: [cmd]
        working-directory: ./dir2

你可以看看這篇文章: https://github.community/t/use-working-directory-for-entire-job/16747

Nicolas G.的答案是正確的並且可以工作,但是正如您解釋的那樣,您想為文件中的所有作業指定一個工作目錄defaults字段在工作流級別也是有效的,以避免重復

在工作流級別

defaults:
  run:
    working-directory: ./your_working_dir
jobs:
  job1:
    [...]
  job2:
    [...]

在工作層面

jobs:
  job1:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./your_working_dir1
    steps:
    [...]

  job2:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./your_working_dir2
    steps:
    [...]

您可以在Github 官方文檔中了解有關defaults字段的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM