Как создать файл .env для проекта nodejs во время работы jenkins - PullRequest
0 голосов
/ 07 июня 2019

У меня есть проект стека nodejs MERN. Я настроил задание Jenkins на своем экземпляре Linux на сервере в контейнере Docker. У меня есть работа Дженкинса, чтобы вытащить код и построить приложение. Я использовал файл .env для предоставления некоторых переменных и учетных данных, как я могу создать этот файл во время выполнения этого задания Jenkins. Поскольку я хочу докеризировать содержимое проекта nodejs и запустить его где-нибудь еще.

Я совершенно новый для DevOps

Это работа Дженкинса.

Я хочу параметризовать задание Jenkins, и он должен создать файл .env в корне моего проекта nodejs.

1 Ответ

0 голосов
/ 07 июня 2019

Почему вы хотите создать свой envfile с помощью jenkins?

Вы можете вручную создавать файлы среды для каждой из ваших сред и вставлять их в изображение при запуске образа, например:

sudo docker run -d --restart=always  --name=${appName}  --env-file ${envfilepath}/${envfile}.env -p ${externe appPort}:${interne appPort} ${your registry}/${appName}:${your tag}

Вы также можете создать комбинацию rundeck для cron и начать работу, kubernetes для управления переменными env.

Если вы действительно хотите создать свой envfile при создании образа, в вашем dockerfile вы можете сделать:

################################ builder
FROM ${BUILDER_IMAGE} as builder
RUN npm i
RUN npm run `command to create envfile`
# see content of your file
RUN cat `path of your envfile / your envfile`

################################ final build
FROM ${BUILDER_IMAGE} 
COPY --from=builder `path of your envfile / your envfile` `definitive path of your envfile / definitive envfile`

А если вы хотите экспортировать файл из образа докера

(docker run -t --rm --entrypoint cat $(IMAGE) `path of your envfile / your envfile`) > `local path of your envfile / local envfile`
...