提问人:Winter Wind 提问时间:10/5/2023 最后编辑:Winter Wind 更新时间:10/5/2023 访问量:33
提高 GitLab 流水线性能
Improving GitLab Pipeline Performance
问:
我正在尝试提高管道的性能,但在还原阶段遇到了严重的延迟。目前,还原和生成阶段大约需要 4 分钟才能完成。
下面是我的管道示例:
build:
stage: build
tags:
- globalrunner
script:
- mkdir src
- dotnet restore "example.csproj"
- dotnet restore "example.csproj"
- echo "Restore success"
- dotnet build "example.csproj" -c Release -o /app/build
- dotnet build "example.csproj" -c Release -o /app/build
only:
- tags
build-artifacts:
stage: build-artifacts
artifacts:
paths:
- ./app/publish/
script:
- dotnet publish "example.csproj" -c Release -o ./app/publish
- dotnet publish "example.csproj" -c Release -o ./app/publish
答:
0赞
Maxx
10/5/2023
#1
- 对依赖项使用缓存,这样可以防止管道在每次运行时都必须从头开始下载依赖项。您可以使用操作/cache@v3
- 如果可能,尝试不同的跑步者
- 使用平行流道。这将允许管道同时运行多个作业。
评论
0赞
Winter Wind
10/5/2023
我用过,但它给了我一个错误dotnet build --parallel "./Host.Core/Host.Core.csproj" -c Release -o /app/build --no-restore
MSBUILD : error MSB1001: Unknown switch. Switches appended by response files: Switch: --parallel For switch syntax, type "MSBuild -help"
0赞
Maxx
10/5/2023
这意味着 dotnet build 命令不支持 --parallel 开关。若要并行生成多个项目,可以使用带有 /m 开关的 MSBuild 命令行工具。使用 /m 开关可以指定要同时生成的最大项目数。ou 还可以使用 MSBuild 命令通过将项目文件列表传递给该命令来并行生成多个项目。
评论