AWS CodeBuild如何仅上传publish文件夹内的构建产物
AWS CodeBuild 打包指定publish产物配置方案
报错根因
CodeBuild 标准构建环境为Linux系统,文件路径仅识别正斜杠/作为分隔符,原配置中使用Windows风格的反斜杠\拼接路径,会被判定为非法路径,最终触发找不到目录的错误。
可直接生效的修复配置
将路径中的反斜杠全部替换为正斜杠,去掉路径末尾多余的反斜杠即可:
version: 0.2 phases: install: runtime-versions: dotnet: 6.0 build: commands: - dotnet publish SourceCode/API/PPMT-BACKEND.csproj artifacts: files: - '**/*' base-directory: 'SourceCode/API/bin/Debug/net6.0/publish'
若需要压缩包内所有文件直接放在根目录、不保留任何子目录层级,可在artifacts块下追加
discard-paths: yes配置,无该需求不要加,避免同名文件被覆盖。
更稳妥的长期优化方案
直接在dotnet publish命令中指定固定输出目录,后续切换编译配置(Debug/Release)、升级.NET版本时无需调整artifacts路径,避免路径变更导致构建失败:
version: 0.2 phases: install: runtime-versions: dotnet: 6.0 build: commands: # 构建产物直接输出到根目录下的固定文件夹publish-output - dotnet publish SourceCode/API/PPMT-BACKEND.csproj -o publish-output artifacts: files: - '**/*' base-directory: 'publish-output'
内容的提问来源于stack exchange,提问作者J. Doe
相关产品推荐
相关产品推荐

