как создать файл .env для проекта nodejs во время работы jenkins

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

Я совершенно новичок в DevOps

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

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


person Rohit Dhore    schedule 07.06.2019    source источник


Ответы (1)


Почему вы хотите создать свой 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 при создании своего образа, в вашем файле докеров вы можете сделать:

################################ 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`
person Adrien Parrochia    schedule 07.06.2019