Angular-cli build (ng build) on Teamcity

Angular-cli build (ng build) on Teamcity

我希望有人已经这样做了。 我正在尝试为我的一个 angular 2 项目在 teamcity 中建立持续构建。 在做了一些研究之后,我按照以下步骤操作:

  1. 构建第 1 步:为 teamcity 安装 jonnyzzz.node 插件。 (现在我可以从 Runner 类型中选择 Node.js NPM)
    npm 命令:我添加了安装命令
  2. 构建步骤 2:另一个 Node.js NPM 和 npm 命令:install -g angular-cli
    到目前为止一切顺利
  3. 现在我想构建 ng build 作为第三步,但我真的卡住了,因为我无法做到这一点。

如有任何帮助,我们将不胜感激。

谢谢。

为了从 Team city 的 nodejs 插件中获取 ng 构建工作,我修改了 package.json 文件。 在开始时将值替换为 "ng build"。 从团队城市,npm build 命令将触发 ng build 命令。

您可以使用 node.js NPM 插件和 运行 命令,而不是更改您的 package.json:

run build

build 它不是 NPM 的默认命令,因此您需要 'run build',它在默认 ng-cli package.json

中映射到 ng build
"scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
},

See image

首先从构建代理开始,您可以在其中编辑 buildAgent.properties 文件并定义 3 个环境变量。您应该在此处或稍后在构建定义中使用周围的单引号:

env.exec.node='C\:\Program Files\nodejs\node.exe'
env.exec.npm='C\:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'
env.exec.ng='%env.APPDATA%\npm\node_modules\@angular\cli\bin\ng'

此处使用%env.APPDATA%,但一些设置可能会安装在 Program Files 上,在大多数情况下,AppData 将是要安装的。

接下来您可以为您的项目定义构建步骤。创建这些 Powershell 类型的新构建步骤并将脚本设置为源代码。在脚本源中,您现在可以输入:

Install Angular CLI

& %env.exec.node% %env.exec.npm% install -g @angular/cli

Install node_modules folder

& %env.exec.node% %env.exec.npm% install

Build and publish solution

& %env.exec.node% %env.exec.ng% build --environment '%env.build.environment%' --scripts-prepend-node-path

在此步骤之后,生产构建将创建您的 dist 文件夹,您可以将其包含到您的 Artifacts 路径中,这样您就可以访问它,如果您想创建单独的部署类型构建配置

此处需要考虑的一些注意事项:

  • 你可以在你的内部定义变量 可以在构建代理上使用不同的路径,这会制动 你的构建
  • 确保您有适当的 Clean-Up 规则,因为 node_modules 文件夹可以很快变大

希望对大家有所帮助!