node.js - Hur man ställer in miljö för Angular 7 i TFS-byggpipeline


Jag försöker ställa in en specifik miljö i TFS-buildpipeline men den ställer alltid in dev-miljön som är standard. Däremot fungerar kommandot ng serve bra.

Här är mina uppgifter om applikationsversionen.

Angular CLI: 7.3.9
Node: 10.16.0
@angular-devkit/architect         0.13.9
@angular-devkit/build-angular     0.13.9
@angular-devkit/build-optimizer   0.13.9
@angular-devkit/build-webpack     0.13.9
@angular-devkit/core              7.3.9
@angular-devkit/schematics        7.3.9
@angular/cdk                      7.3.7
@angular/cli                      7.3.9

Här är hur jag har konfigurerat.

miljöer >

└── environments
        ├── environment.prod.ts
        ├── environment.staging.ts
        └── environment.ts

angular.json

"configurations": {
  "production": { ... },
  "staging": {
    "fileReplacements": [
      {
        "replace": "src/environments/environment.ts",
        "with": "src/environments/environment.staging.ts"
      }
    ]
  }

angular.json > serve

"serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "options": {
            "browserTarget": "my-app:build"
          },
          "configurations": {
            "staging": {
              "browserTarget": "my-app:build:staging"
            },
            "production": {
              "browserTarget": "my-app:build:production"
            }
          }

bygg pipeline-skript >

Jag har försökt köra olika kommandon men inget hjälpte.

build --prod --configuration=staging
build --prod --configuration staging
build --configuration=staging

Svar #1

Använd den här inställningen i din package.json

"scripts": {
    "stag": "ng build --configuration=staging",
  },

Använd sedan bara npm run stag i pipeline

Så ditt npm command-alternativ är run stag. Ingen anledning till argument

Svar #2

Efter att ha ställt in ditt anpassade byggkommando i package.json

"scripts": {
"staging": "ng build --configuration=staging",

},

när du använder på din lokala dator, använd npm run staging men när du använder i Azure build, använd anpassat kommando och ditt kommandoargument run stagin