renovate/lib/modules/manager/dockerfile/__fixtures__/1.Dockerfile

39 lines
1.1 KiB
Docker

# -- Base images
# Pinned to specific versions, and updated by Renovate
FROM node:8.11.3-alpine@sha256:d743b4141b02fcfb8beb68f92b4cd164f60ee457bf2d053f36785bf86de16b0d AS node
FROM buildkite/puppeteer:1.1.1 AS puppeteer
# -- Production environment
FROM node AS production
ENV NODE_ENV=production
EXPOSE 3000
WORKDIR /app
COPY package.json yarn.lock .yarnclean /app/
RUN apk --no-cache --virtual build-dependencies add python make g++ && \
yarn install --frozen-lockfile --silent && \
apk del build-dependencies
COPY . /app
RUN yarn run build
CMD ["yarn", "run", "start"]
# -- Development
# We can just override NODE_ENV and re-run install to get the additional dev
# deps.
FROM production as development
ENV NODE_ENV=development
RUN yarn install
# -- Test
# Same deps as development
FROM development as test
# -- Integration tests
# Has headless chrome and puppeteer, and adds in Mocha so we can run our tests
# directly inside it
FROM puppeteer AS integration-tests
RUN npm i -g mocha@5
ENV PATH="${PATH}:/node_modules/.bin"
# -- Default target
FROM production