Angular应用程序构建管道-VSTS中的持续集成

时间:2020-06-29 08:44:13

标签: angular azure azure-devops continuous-integration azure-pipelines

实际上,我需要将我的角度应用程序部署到Azure中。老实说,这是我第一次使用Angular应用程序进行部署。所以我选择的是带有Grunt模板的Node。

这是步骤

steps:
- task: Npm@1
  displayName: 'npm install'
  inputs:
    workingDir: CrSPA/Clientapp
    verbose: false
steps:
- task: Npm@1
  displayName: 'Build Project'
  inputs:
    command: custom
    workingDir: CrSPA/Clientapp
    verbose: false
    customCommand: 'run build-prod'

运行build-prod 表示 ng build --prod

我的问题是它是否正确。我之所以这样问是因为,只要对应用程序进行小的更改,整个npm安装过程就会发生,并且需要很长时间才能完成。所以我不确定我遵循的方式是最好的方法。

最好在本地构建后再推送吗?将node_modules文件夹也推送到存储库中也可以,所以我不能总是执行 npm安装吗?

2 个答案:

答案 0 :(得分:1)

您的方法很好,您应该始终在文件进入存储库之前在管道上执行npm ing build --prod

这是因为当多个人在同一个应用程序上工作时,如果他们不添加package而添加了一个新的npm install,则您的样条线构建将会失败。所以总是建议这样做

1. npm install
2. ng build --prod

您可以阅读有关此article

的更多信息

答案 1 :(得分:1)

实际上,在进行部署时最好先进行依赖,

您可以轻松地在包json中指定和更改您所依赖的这些包的版本,从而在部署环境中不会出现任何问题,并且您的构建将使用JSON文件中列出的确切包版本。

另外,最好使用 npm ci 而不是 npm i ,因为它使用具有确切版本号的软件包锁定文件,因此您将始终使用完全正确的版本。

这很好地解释了为什么不应该包括node_modules来进行提交和构建