想請問GitLab的CI runner所使用的 .gitlab-ci.yml,是否可以寫for loop每個資料夾呢?
因為我的gitlab 的project裡,不只有一個project,而是有多個,
想要在每個專案(資料夾)都執行同個command,eg. dotnet build
資料夾結構如下:
GitlabProject
我的想法是在forloop(cd 進專案資料夾-> 執行command)
試過直接寫for %L in folder -> L它不認得
也試過在script裡 叫他call 另一個.sh ->它會出現Job succeeded但根本沒執行.sh
我的runner環境是 win7
謝謝:)
想請問GitLab的CI runner所使用的 .gitlab-ci.yml,是否可以寫for loop每個資料夾呢?
.gitlab-ci.yml
stages:
- build
build:
stage: build
script:
- Get-ChildItem -Directory | %{ cd $_.FullName; dotnet build }
Get-ChildItem -Directory
是 PowerShell 中的一個指令,它會遍歷所有子目錄。|
將上一個指令的輸出作為下一個指令的輸入。%{ ... }
是一個使用管道符號的結構,稱為ForEach-Object。在這個範例中,會對每個目錄執行下面兩個指令:
cd $_.FullName;
(指令會將工作目錄變更為每個子目錄的全路徑)dotnet build
這樣就會for loop所有子目錄並在每個目錄下執行 dotnet build