У меня есть конвейер в Azure Dev Ops, и он успешно работает, развертывая приложение как статический ресурс веб-приложения. Единственная проблема заключается в том, что команда никогда не обновляет переменные среды в проекте Angular.
- script: |
npm install -g @angular/cli
npm install
npm run build-dev
displayName: 'npm install and build'
это шаг в моем пути
"build-dev": "ng build --configuration='dev'",
это в моем package.json
"dev": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.dev.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"namedChunks": false,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"budgets": [
{
"type": "initial",
"maximumWarning": "2mb",
"maximumError": "5mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "6kb",
"maximumError": "10kb"
}
]
}
},
Это в моем angular.json. Когда я запускаю его локально и использую http-сервер в папке dist, я вижу, что переменные среды обновляются. Я не могу понять, почему на конвейере не происходит обновление или где этот шаг пропускается.
Итак, в статическом приложении есть этап развертывания сборки, который также требует вызова команды сборки, поэтому я добавил его.
- task: AzureStaticWebApp@0
inputs:
azure_static_web_apps_api_token: ""
app_location: "/"
api_location: ""
app_build_command: 'npm run build-staging'
output_location: "dist"
ваш сценарий build-dev в конвейере принудительно выполняет настройку разработки, возможно, добавить еще один сценарий build-prod, который затем использует конфигурацию prod или не указывает конфигурацию, которую нужно использовать?