簡體   English   中英

Teamcity上的Angular-cli構建(ng build)

[英]Angular-cli build (ng build) on Teamcity

我希望有人已經這樣做了。 我正在嘗試為我的一個角度2項目建立一個團隊城市的連續構建。 完成一些研究后,我按照以下步驟操作:

  1. Build Step1:為teamcity安裝了jonnyzzz.node插件。 (現在我可以從Runner類型中選擇Node.js NPM)
    npm命令:我添加了install命令
  2. 構建第2步:另一個Node.js NPM和npm命令:install -g angular-cli
    到現在為止還挺好
  3. 現在我想構建ng build作為第三步,我真的陷入困境,因為我無法做到這一點。

任何幫助,將不勝感激。

謝謝。

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

run build

構建它不是NPM的默認命令,因此您需要在默認ng-cli package.json中映射到ng build的'run build'

"scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
},

見圖

為了從Team city的nodejs插件獲取構建工作,我修改了package.json文件。 在開始時用“ng build”替換值。 從團隊城市,npm build命令將觸發ng build命令。

首先從構建代理開始,您可以在其中編輯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的新構建步驟,並將腳本設置為源代碼。 在腳本源內,您現在可以輸入:

安裝Angular CLI

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

安裝node_modules文件夾

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

構建和發布解決方案

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

在此步驟之后,生成版本將創建您的dist文件夾,您可以將其包含在Artifacts路徑中,以便在您想要創建單獨的部署類型構建配置時可以訪問它

這里要考慮的一些注意事項:

  • 你可以在你的不同路徑中定義變量,可以在構建代理上使用,這會制動你的構建
  • 確保你有適當的清理規則,因為node_modules文件夾可以很快變大

希望它有助於某人!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM