Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # build
- # одноразовый контейнер
- FROM node:latest as build
- ARG BUILD_DIR=/build
- # создание директории приложения
- WORKDIR $BUILD_DIR
- # установка зависимостей
- # символ астериск ("*") используется для того чтобы по возможности
- # скопировать оба файла: package.json и package-lock.json
- COPY package*.json \
- tsconfig.json \
- ./
- COPY src src
- RUN echo ${BUILD_DIR}
- RUN npm i
- RUN npm run build
- # ---------------------------------------
- # build end
- #
- # app
- # ---------------------------------------
- RUN echo "1\n"; test -n "$BUILD_DIR" || (echo "BUILD_DIR not set" && false)
- FROM node:14-alpine as production
- RUN echo "2\n"; test -n "$BUILD_DIR" || (echo "BUILD_DIR not set" && false)
- ARG PM2_CONFIG=out/config/ecosystem.config.js
- #RUN apt-get update && apt-get install -y \
- # build-essential
- RUN npm i -g pm2
- # создание директории приложения
- WORKDIR /usr/local/app
- RUN echo ${BUILD_DIR}
- COPY --from=build /build/out out
- COPY --from=build /build/node_modules node_modules
- #EXPOSE # бот использует поллинг
- CMD pm2 start ${PM2_CONFIG} && pm2 logs
Advertisement
Add Comment
Please, Sign In to add comment