alpine #1
4 changed files with 69 additions and 26 deletions
|
@ -3,7 +3,7 @@ name: Build And Publish Docker
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- "alpine"
|
- "master"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
@ -11,9 +11,8 @@ jobs:
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
hugo-version: ["0.126.3"]
|
hugo-version: ["0.127.0", "0.126.0", "0.125.0"]
|
||||||
node-version: ["22.2.0"]
|
node-version: ["22"]
|
||||||
go-version: ["1.22.3"]
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
46
Dockerfile
46
Dockerfile
|
@ -1,22 +1,34 @@
|
||||||
ARG GO_VERSION="1.22.3"
|
FROM alpine:3.20
|
||||||
FROM golang:${GO_VERSION}-alpine3.20
|
ARG HUGO_VERSION="0.127.0"
|
||||||
|
ARG NODE_VERSION="22"
|
||||||
|
|
||||||
ARG HUGO_VERSION="0.126.3"
|
RUN apk add --update --no-cache rsync unzip openssh libssl3 openssl-dev curl ninja pkgconf icu-dev git linux-headers libc6-compat make g++ gcc libgcc libstdc++ python3 py3-pip
|
||||||
ARG NODE_VERSION="22.2.0"
|
# RUN apk add --update --no-cache rsync curl openssh git libc6-compatlibgcc libstdc++
|
||||||
|
|
||||||
|
WORKDIR /tmp
|
||||||
|
|
||||||
|
RUN curl -sL -o hugo_extended_${HUGO_VERSION}_linux-amd64.tar.gz https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.tar.gz && \
|
||||||
|
tar -xf "hugo_extended_${HUGO_VERSION}_linux-amd64.tar.gz" && \
|
||||||
|
cp ./hugo /usr/bin/hugo && \
|
||||||
|
hugo version
|
||||||
|
|
||||||
|
RUN curl -sL -o node-${NODE_VERSION}.x.zip "https://github.com/nodejs/node/archive/refs/heads/v${NODE_VERSION}.x.zip" && unzip "node-${NODE_VERSION}.x.zip" &&\
|
||||||
|
cd node-${NODE_VERSION}.x && \
|
||||||
|
./configure --with-intl=system-icu --ninja --shared-openssl --shared && \
|
||||||
|
make && \
|
||||||
|
make install
|
||||||
|
|
||||||
|
# RUN curl -fsSL https://unofficial-builds.nodejs.org/download/release/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64-musl.tar.gz -o node-v${NODE_VERSION}.tar.gz && \
|
||||||
|
# tar -xzf node-v${NODE_VERSION}.tar.gz && \
|
||||||
|
# mv /tmp/node-v${NODE_VERSION}-linux-x64-musl /usr/local/lib/nodejs && \
|
||||||
|
# ln -s /usr/local/lib/nodejs/bin/node /usr/local/bin/node && \
|
||||||
|
# ln -s /usr/local/lib/nodejs/bin/npm /usr/local/bin/npm && \
|
||||||
|
# npm i -g yarn pnpm
|
||||||
|
|
||||||
RUN apk update
|
|
||||||
RUN apk add tar gzip curl rsync bash xz
|
|
||||||
RUN mkdir /tmp/temph
|
|
||||||
RUN mkdir /home/app
|
RUN mkdir /home/app
|
||||||
WORKDIR /tmp/temph
|
|
||||||
RUN wget "https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.xz"
|
|
||||||
RUN tar -xf "node-v${NODE_VERSION}-linux-x64.tar.xz"
|
|
||||||
RUN cp -R node-v${NODE_VERSION}-linux-x64/bin/* /usr/bin/
|
|
||||||
RUN npm i -g yarn pnpm
|
|
||||||
RUN wget "https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_Linux-64bit.tar.gz"
|
|
||||||
RUN tar -xf "hugo_extended_${HUGO_VERSION}_Linux-64bit.tar.gz"
|
|
||||||
RUN mv ./hugo /usr/bin/hugo
|
|
||||||
WORKDIR /home/app
|
WORKDIR /home/app
|
||||||
RUN rm -rfv /tmp/temph
|
|
||||||
|
|
||||||
ENTRYPOINT [ "/bin/bash" ]
|
RUN rm -rfv /tmp/* && \
|
||||||
|
apk del git linux-headers python3 py3-pip make g++ gcc ninja
|
||||||
|
|
||||||
|
ENTRYPOINT [ "/bin/sh" ]
|
30
Dockerfile.multistage
Normal file
30
Dockerfile.multistage
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
# Build stage
|
||||||
|
FROM alpine:3.20 AS build
|
||||||
|
ARG HUGO_VERSION="0.127.0"
|
||||||
|
ARG NODE_VERSION="22"
|
||||||
|
|
||||||
|
RUN apk add --update --no-cache rsync unzip openssh libssl3 openssl-dev curl ninja pkgconf icu-dev git linux-headers libc6-compat make g++ gcc libgcc libstdc++ python3 py3-pip
|
||||||
|
|
||||||
|
WORKDIR /tmp
|
||||||
|
|
||||||
|
RUN curl -sL -o hugo_extended_${HUGO_VERSION}_linux-amd64.tar.gz https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.tar.gz && \
|
||||||
|
tar -xf "hugo_extended_${HUGO_VERSION}_linux-amd64.tar.gz" && \
|
||||||
|
cp ./hugo /usr/bin/hugo && \
|
||||||
|
hugo version
|
||||||
|
|
||||||
|
RUN curl -sL -o node-${NODE_VERSION}.x.zip "https://github.com/nodejs/node/archive/refs/heads/v${NODE_VERSION}.x.zip" && unzip "node-${NODE_VERSION}.x.zip" &&\
|
||||||
|
cd node-${NODE_VERSION}.x && \
|
||||||
|
./configure --with-intl=system-icu --ninja --shared-openssl --shared && \
|
||||||
|
make && \
|
||||||
|
make install
|
||||||
|
|
||||||
|
# Final stage
|
||||||
|
FROM alpine:3.20
|
||||||
|
|
||||||
|
RUN apk add --update --no-cache rsync openssh libssl3 openssl-dev libgcc libstdc++ libc6-compat
|
||||||
|
|
||||||
|
COPY --from=build /usr/bin/hugo /usr/bin/hugo
|
||||||
|
RUN mkdir /home/app
|
||||||
|
WORKDIR /home/app
|
||||||
|
|
||||||
|
ENTRYPOINT [ "/bin/sh" ]
|
|
@ -25,6 +25,8 @@ docker run -p 1313:1313 -v .:/home/app -ti --network=host git.myco.systems/mycos
|
||||||
|
|
||||||
## Links
|
## Links
|
||||||
|
|
||||||
~~[Docker](https://hub.docker.com/r/betterweb/hugo)~~
|
- ~~[BetterWeb Docker](https://hub.docker.com/r/betterweb/hugo)~~
|
||||||
~~[Github](https://github.com/BetterCorp/hugo)~~
|
|
||||||
[MycoSystems Packages](https://git.myco.systems/mycosystems/-/packages/container/hugo-ci/versions)
|
- ~~[BeterCorp Github](https://github.com/BetterCorp/hugo)~~
|
||||||
|
|
||||||
|
- [MycoSystems Packages](https://git.myco.systems/mycosystems/-/packages/container/hugo-ci/versions)
|
Loading…
Add table
Reference in a new issue