Browse Source

Add linter for Dockerfile

pull/373/head
Caroline Teicher 5 years ago
committed by Clemens Wolff
parent
commit
ff9978704d
2 changed files with 18 additions and 6 deletions
  1. 1
      .dockerignore
  2. 23
      Dockerfile

1
.dockerignore

@ -5,6 +5,7 @@
!.coveragerc !.coveragerc
!.flake8 !.flake8
!requirements.txt !requirements.txt
!Dockerfile
app/**/bundle/ app/**/bundle/
app/**/node_modules/ app/**/node_modules/

23
Dockerfile

@ -1,22 +1,32 @@
ARG PYTHON_VERSION="3.6" ARG PYTHON_VERSION="3.6"
FROM python:${PYTHON_VERSION}-stretch AS builder FROM python:${PYTHON_VERSION}-stretch AS builder
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
ARG NODE_VERSION="8.x" ARG NODE_VERSION="8.x"
# hadolint ignore=DL3008
RUN curl -sL "https://deb.nodesource.com/setup_${NODE_VERSION}" | bash - \ RUN curl -sL "https://deb.nodesource.com/setup_${NODE_VERSION}" | bash - \
&& apt-get install --no-install-recommends -y \ && apt-get install --no-install-recommends -y \
nodejs nodejs
ARG HADOLINT_VERSION=v1.17.1
RUN curl -fsSL "https://github.com/hadolint/hadolint/releases/download/${HADOLINT_VERSION}/hadolint-Linux-$(uname -m)" -o /usr/local/bin/hadolint \
&& chmod +x /usr/local/bin/hadolint
COPY tools/install-mssql.sh /doccano/tools/install-mssql.sh COPY tools/install-mssql.sh /doccano/tools/install-mssql.sh
RUN /doccano/tools/install-mssql.sh --dev RUN /doccano/tools/install-mssql.sh --dev
COPY app/server/static/package*.json /doccano/app/server/static/ COPY app/server/static/package*.json /doccano/app/server/static/
RUN cd /doccano/app/server/static \
&& npm ci
WORKDIR /doccano/app/server/static
RUN npm ci
COPY requirements.txt / COPY requirements.txt /
RUN pip install -r /requirements.txt \ RUN pip install -r /requirements.txt \
&& pip wheel -r /requirements.txt -w /deps && pip wheel -r /requirements.txt -w /deps
COPY Dockerfile /
RUN hadolint /Dockerfile
COPY . /doccano COPY . /doccano
WORKDIR /doccano WORKDIR /doccano
@ -24,12 +34,12 @@ RUN tools/ci.sh
FROM builder AS cleaner FROM builder AS cleaner
RUN cd /doccano/app/server/static \
&& SOURCE_MAP=False DEBUG=False npm run build \
WORKDIR /doccano/app/server/static
RUN SOURCE_MAP=False DEBUG=False npm run build \
&& rm -rf components pages node_modules .*rc package*.json webpack.config.js && rm -rf components pages node_modules .*rc package*.json webpack.config.js
RUN cd /doccano \
&& python app/manage.py collectstatic --noinput
WORKDIR /doccano
RUN python app/manage.py collectstatic --noinput
FROM python:${PYTHON_VERSION}-slim-stretch AS runtime FROM python:${PYTHON_VERSION}-slim-stretch AS runtime
@ -39,6 +49,7 @@ RUN /doccano/tools/install-mssql.sh
RUN useradd -ms /bin/sh doccano RUN useradd -ms /bin/sh doccano
COPY --from=builder /deps /deps COPY --from=builder /deps /deps
# hadolint ignore=DL3013
RUN pip install --no-cache-dir /deps/*.whl RUN pip install --no-cache-dir /deps/*.whl
COPY --from=cleaner --chown=doccano:doccano /doccano /doccano COPY --from=cleaner --chown=doccano:doccano /doccano /doccano

Loading…
Cancel
Save