[英]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.