如何在GitHub Actions流水线中调整Angular构建产物目录层级?
在GitHub Actions中自动调整Angular构建后的dist目录结构
你需要在GitHub Actions的YAML配置文件中,在ng build构建步骤之后、部署步骤之前,添加一个执行目录调整命令的步骤,具体如下:
Linux/macOS环境的Runner
如果你的流水线使用Linux或macOS环境的runner,添加这段步骤:
- name: 调整dist目录结构 run: | # 先确认目标目录存在,避免构建失败时命令报错 if [ -d "dist/maindirectory" ]; then # 将maindirectory内的所有内容移动到dist根目录 mv dist/maindirectory/* dist/ # 删除空的maindirectory目录 rmdir dist/maindirectory fi
Windows环境的Runner
如果流水线使用Windows环境的runner,改用PowerShell命令:
- name: 调整dist目录结构(Windows环境) run: | if (Test-Path "dist/maindirectory") { # 将maindirectory内的所有内容移动到dist根目录 Move-Item -Path dist/maindirectory/* -Destination dist/ # 删除空的maindirectory目录 Remove-Item -Path dist/maindirectory }
关键说明
- 这个步骤必须放在
ng build --configuration=production执行完成的步骤之后,确保dist目录已经生成。 - 添加目录存在的判断逻辑,是为了避免因构建失败导致目录不存在时,流水线抛出错误中断执行。
内容的提问来源于stack exchange,提问作者Razvan Zamfir
相关产品推荐
相关产品推荐

