Skip to content

Commit

Permalink
Fix: hadolintのignore
Browse files Browse the repository at this point in the history
- DL3048
  - LABELにアンダースコアが使われているため警告が出る。
  - fly側がこのLABELを何に使っているか不明なため、修正せずにhadolint ignoreする。
- DL3008
  - apt-get install するパッケージにバージョン名がないと警告が出る。
  - BUILD_PACKAGESのように環境変数を使うとhadolintで解析できず、バージョンを指定していても警告が出る。
  - 後述の理由により、修正せずにhadolint ignoreする。
- DL3025
  - CMDの引数がJSON arrayではないため、警告が出る。
  - 後述の理由により、修正せずにhadolint ignoreする。

`fly lanch`で生成されるDockerfileにはARGが多用されており、
`fly deploy`の引数やfly.tomlでオーバーライドできるようになっている。
今のところオーバーライドは使っていないが、元のDockerfileから大きく変えると不都合が出るかもしれないのでそのままにしておく。
もしかしたらdevとprodで同じDockerfileを使い回すなど、将来使えるかもしれない。

ref: https://fly.io/docs/reference/configuration/#specify-docker-build-arguments
  • Loading branch information
momocus committed Nov 22, 2022
1 parent 2fd154b commit 58ad230
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions fly.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ FROM quay.io/evl.ms/fullstaq-ruby:${RUBY_VERSION}-${VARIANT} as base

SHELL ["/bin/bash", "-o", "pipefail", "-c"]

# hadolint ignore=DL3048
LABEL fly_launch_runtime="rails"

ARG NODE_VERSION=18.*
Expand Down Expand Up @@ -60,6 +61,7 @@ FROM base as build_deps
ARG BUILD_PACKAGES="build-essential=12.9 libpq-dev=13.*"
ENV BUILD_PACKAGES ${BUILD_PACKAGES}

# hadolint ignore=DL3008
RUN --mount=type=cache,id=dev-apt-cache,sharing=locked,target=/var/cache/apt \
--mount=type=cache,id=dev-apt-lib,sharing=locked,target=/var/lib/apt \
apt-get update -qq && \
Expand Down Expand Up @@ -95,6 +97,7 @@ FROM base
ARG DEPLOY_PACKAGES="postgresql-client-13=13.*"
ENV DEPLOY_PACKAGES=${DEPLOY_PACKAGES}

# hadolint ignore=DL3008
RUN --mount=type=cache,id=prod-apt-cache,sharing=locked,target=/var/cache/apt \
--mount=type=cache,id=prod-apt-lib,sharing=locked,target=/var/lib/apt \
apt-get update -qq && \
Expand Down Expand Up @@ -135,4 +138,5 @@ RUN ${BUILD_COMMAND}
ENV PORT 8080
ARG SERVER_COMMAND="bin/rails fly:server"
ENV SERVER_COMMAND ${SERVER_COMMAND}
# hadolint ignore=DL3025
CMD ${SERVER_COMMAND}

0 comments on commit 58ad230

Please sign in to comment.