Получить переменную Jenkins BUILD_NUMBER и отобразить ее в угловом приложении - PullRequest
0 голосов
/ 29 августа 2018

Я развернул угловое приложение от Jenkins и хочу отобразить номер сборки в нижнем колонтитуле страницы. Я знаю, что во время выполнения задания Jenkins отправляет системную переменную среды BUILD_NUMBER . Я прочитал несколько статей, но никто не говорит, как мы можем получить эту переменную из ОС?

1 Ответ

0 голосов
/ 29 августа 2018

Вот обходной путь.

Вы можете использовать событие до и после сборки для замены тега версии в файле environment.prod.ts.

export const environment = { production: true, system: 'prod', version: '%VERSION%' };

установить npm-replace:

npm install replace --save-dev

package.json

"build:prod": "ng build --env=prod", 
"prebuild:prod": "replace '%VERSION%' $VERSION src/environments/environment.prod.ts", 
"postbuild:prod": "replace $VERSION '%VERSION%' src/environments/environment.prod.ts",

В jenkins выполните следующую команду

VERSION="$BUILD_NUMBER" npm run build:prod

Ссылка: Запрос: метод передачи переменных среды во время сборки или файла.

UPDATE

Другим способом достижения упомянутого поведения является использование утилиты sed, предварительно установленной в Linux. Вы можете выполнить следующие действия

  1. Обновите environment.prod.ts, чтобы иметь предопределенный ключ. Давайте предположим, что jenkinsBuildNO. например,

    export const environment = { production: true, system: 'prod', version: 'jenkinsBuildNO' };

  2. Создайте еще один шаг в jenkins для обновления jenkinsBuildNO в environment.prod.ts номером сборки или чем-то другим.

    sed -i -e 's/jenkinsBuildNO/%BUILD_NUMBER%/g' src/environments/environment.prod.ts

  3. начать угловую сборку. ng buld --prod

  4. Обновите номер сборки с помощью нашего предварительно определенного ключа jenkinsBuildNO in environment.prod.ts

    sed -i -e 's/%BUILD_NUMBER%/jenkinsBuildNO/g' src/environments/environment.prod.ts

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...