我们的自动部署系统遇到了问题。
在我们自己的计算机上,运行ng build
会生成dist文件夹。在文件夹中,该文件夹具有预期的assets
。
我已在构建服务器上复制了此文件,手动拉出git存储库,并运行“构建文件”(构建服务器在Windows Server上运行。为方便起见,通过PowerShell脚本管理构建和部署过程)。
当我们的Jenkins服务器运行构建脚本时,assets
文件夹以及/dist/
中配置的其他一些文件中缺少angular.json
文件夹。
它也没有正确编译样式表,我认为这是出于相同的根本原因。
当以系统管理员身份运行外壳程序时,直接从Jenkins工作区直接运行PowerShell脚本时,问题仍然存在。
CLI不会产生任何错误。 我附上了详细的日志,以防万一。 https://gist.github.com/cf-jola/6cc6cff138da5105f3b10adffb72895f#file-output-txt
以系统管理员身份运行脚本,我已经排除了权限问题。 Jenkins还设法创建其他文件,例如
.js
个文件,并且index.html很好。
我现在的解决方法是通过deploy powershell脚本手动复制assets
文件夹,但是在我们开始获取多个文件的过程中,我希望摆脱这种解决方法我们的angular.json > assets
部分。
供参考:
angular.json https://gist.github.com/cf-jola/6cc6cff138da5105f3b10adffb72895f#file-angular-json
部署脚本:https://gist.github.com/cf-jola/6cc6cff138da5105f3b10adffb72895f#file-deploy-ps1
答案 0 :(得分:0)
它是Node或Angular CLI中的错误。
由于在构建路径中有(
和)
括号,因此将它们封装在方括号中。
这会导致路径:C:\Program Files (x86)\Jenkins\...
变成此C:\Program Files [(]x86[)]\Jenkins\...
,从而变得无效。
我们通过使用Process Monitor并查看了在构建过程中生成的事件来发现问题。