Angular-cli build (ng build) on Teamcity
Angular-cli build (ng build) on Teamcity
我希望有人已经这样做了。
我正在尝试为我的一个 angular 2 项目在 teamcity 中建立持续构建。
在做了一些研究之后,我按照以下步骤操作:
- 构建第 1 步:为 teamcity 安装 jonnyzzz.node 插件。 (现在我可以从 Runner 类型中选择 Node.js NPM)
npm 命令:我添加了安装命令
- 构建步骤 2:另一个 Node.js NPM 和 npm 命令:install -g angular-cli
到目前为止一切顺利
- 现在我想构建 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
文件夹可以很快变大
希望对大家有所帮助!
我希望有人已经这样做了。 我正在尝试为我的一个 angular 2 项目在 teamcity 中建立持续构建。 在做了一些研究之后,我按照以下步骤操作:
- 构建第 1 步:为 teamcity 安装 jonnyzzz.node 插件。 (现在我可以从 Runner 类型中选择 Node.js NPM)
npm 命令:我添加了安装命令 - 构建步骤 2:另一个 Node.js NPM 和 npm 命令:install -g angular-cli
到目前为止一切顺利 - 现在我想构建 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 文件夹可以很快变大
希望对大家有所帮助!