-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
27 lines (26 loc) · 1.06 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
ARG OS_NAME
ARG OS_VERSION
FROM $OS_NAME:$OS_VERSION AS build
ARG OS_NAME
ARG HUGO_VERSION
ARG TARGETARCH
RUN if [ "${OS_NAME}" = "alpine" ]; then \
apk add go gcc g++ musl-dev; \
elif [ "${OS_NAME}" = "debian" ]; then \
apt-get update -qq && DEBIAN_FRONTEND=noninteractive apt-get install -qq golang gcc g++ ca-certificates; \
elif [ "${OS_NAME}" = "ubuntu" ]; then \
apt-get update -qq && DEBIAN_FRONTEND=noninteractive apt-get install -qq curl gcc g++ ca-certificates; \
curl -fsSL https://go.dev/dl/go1.20.5.linux-${TARGETARCH}.tar.gz | tar -C /usr/local -xz; \
ln -s /usr/local/go/bin/go /usr/local/bin/go; \
elif [ "${OS_NAME}" = "amazonlinux" ]; then \
yum install -y -q go gcc-c++; \
fi
RUN CGO_ENABLED=1 go install --tags extended github.com/gohugoio/hugo@v$HUGO_VERSION
RUN mv /root/go/bin/hugo /usr/local/bin/hugo
FROM $OS_NAME:$OS_VERSION
ARG OS_NAME
RUN if [ "${OS_NAME}" = "alpine" ]; then \
apk add --no-cache libstdc++; \
fi
COPY --from=build /usr/local/bin/hugo /usr/local/bin/hugo
ENTRYPOINT ["hugo"]