Docker: Change the dockerfile to better use caching.

This commit is contained in:
Amritanshu Agrawal 2021-10-31 18:47:25 +05:30
parent 0574f9df14
commit 6b176c22dc
2 changed files with 30 additions and 3 deletions

View File

@ -13,6 +13,17 @@ else
./version_bump.sh ./version_bump.sh
fi fi
# Download the package.json for caching
curl --silent 'https://git.tanshu.com/tanshu/brewman/raw/tag/latest/overlord/package.json' \
| sed 's/\"version\": \"[0-9\.]*\"/"version": "0.0.0"/g' \
> "$parent_path/docker/app/package.json"
# Download the package.json for caching
curl --silent 'https://git.tanshu.com/tanshu/brewman/raw/tag/latest/brewman/pyproject.toml' \
| sed 's/version = \"[0-9\.]*\"/version = "0.0.0"/g' \
> "$parent_path/docker/app/pyproject.toml"
cd "$parent_path/docker/app" || exit cd "$parent_path/docker/app" || exit
docker build --tag brewman:latest . docker build --tag brewman:latest .
cd "$parent_path/docker" || exit cd "$parent_path/docker" || exit

View File

@ -1,14 +1,30 @@
FROM node:latest AS builder FROM node:latest AS builder
RUN mkdir -p /app/overlord
COPY package.json /app/overlord/package.json
RUN cd /app/overlord \
&& npm install --unsafe-perm \
&& mv /app/overlord/node_modules / \
&& cd / \
&& rm -rf /app
ADD https://git.tanshu.com/api/v1/repos/tanshu/brewman/tags /tags.json ADD https://git.tanshu.com/api/v1/repos/tanshu/brewman/tags /tags.json
RUN git clone --single-branch --depth 1 --branch latest https://git.tanshu.com/tanshu/brewman.git /app RUN git clone --single-branch --depth 1 --branch latest https://git.tanshu.com/tanshu/brewman.git /app
WORKDIR /app/overlord WORKDIR /app/overlord
RUN npm install --unsafe-perm && /app/overlord/node_modules/.bin/ng build RUN mv /node_modules /app/overlord/ \
&& /app/overlord/node_modules/.bin/ng build
FROM python:latest FROM python:3.9
LABEL maintainer="Amritanshu <docker@tanshu.com>" LABEL maintainer="Amritanshu <docker@tanshu.com>"
ADD https://git.tanshu.com/tanshu/brewman/raw/tag/latest/brewman/pyproject.toml /app/pyproject.toml COPY pyproject.toml /app/pyproject.toml
RUN apt-get update && \
apt-get install -y locales && \
sed --in-place --expression='s/# en_IN UTF-8/en_IN UTF-8/' /etc/locale.gen && \
dpkg-reconfigure --frontend=noninteractive locales
ENV LANG en_IN
ENV LC_ALL en_IN
# Install Poetry # Install Poetry
RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py | POETRY_HOME=/opt/poetry python && \ RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py | POETRY_HOME=/opt/poetry python && \