ng不使用詹金斯(Jenkins)建立资产等

时间:2019-07-09 11:31:47

标签: jenkins angular-cli

我们的自动部署系统遇到了问题。

在我们自己的计算机上,运行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

1 个答案:

答案 0 :(得分:0)

它是Node或Angular CLI中的错误。

由于在构建路径中有()括号,因此将它们封装在方括号中。

这会导致路径:C:\Program Files (x86)\Jenkins\...变成此C:\Program Files [(]x86[)]\Jenkins\...,从而变得无效。

我们通过使用Process Monitor并查看了在构建过程中生成的事件来发现问题。