Alpineへのreviewdogのインストール手順
公式の通りダウンロードして実行権限を付与
apk add --no-cache curl
curl -sfSL https://github.com/haya14busa/reviewdog/releases/download/0.9.11/reviewdog_linux_amd64 -o /usr/local/bin/reviewdog
chmod +x /usr/local/bin/reviewdog
ただ、これだけだとAlpine環境では以下のようなエラーが出てしまう。
/ # reviewdog
sh: reviewdog: not found
原因は /lib64/ld-linux-x86-64.so.2
がないことで、 /lib/libc.musl-x86_64.so.1
で代替できるのでシンボリックリンクを貼ることで解決する。
mkdir /lib64
ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2
Dockerfile
上記の手順をDockerfileに落とし込むとこのような感じになる。
Dockerfile
FROM alpine
# インストールしたいreviewdogのバージョン
ENV REVIEWDOG_VERSION 0.9.11
# reviewdogをインストール
RUN apk add --no-cache curl
RUN curl -sfSL https://github.com/haya14busa/reviewdog/releases/download/$REVIEWDOG_VERSION/reviewdog_linux_amd64 -o /usr/local/bin/reviewdog
RUN chmod +x /usr/local/bin/reviewdog
# 依存解決のためにパスを保管
RUN mkdir /lib64
RUN ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2