diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 042907f..fab8843 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -3,7 +3,7 @@ name: Build And Publish Docker on: push: branches: - - "master" + - "alpine" jobs: build: @@ -12,7 +12,7 @@ jobs: strategy: matrix: hugo-version: ["0.126.3"] - node-version: ["22"] + node-version: ["22.2.0"] go-version: ["1.22.3"] steps: @@ -50,5 +50,5 @@ jobs: NODE_VERSION=${{ matrix.node-version }} GO_VERSION=${{ matrix.go-version }} tags: | - git.myco.systems/mycosystems/hugo-ci:extended-${{ matrix.hugo-version }}-${{ matrix.node-version }}-${{ matrix.go-version }} - git.myco.systems/mycosystems/hugo-ci:extended-latest + git.myco.systems/mycosystems/hugo-ci:extended-alpine-${{ matrix.hugo-version }}-${{ matrix.node-version }}-${{ matrix.go-version }} + git.myco.systems/mycosystems/hugo-ci:extended-alpine-latest diff --git a/Dockerfile b/Dockerfile index dad14a0..a2f0ffa 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,24 +1,22 @@ ARG GO_VERSION="1.22.3" -FROM golang:${GO_VERSION}-bullseye +FROM golang:${GO_VERSION}-alpine3.20 ARG HUGO_VERSION="0.126.3" -ARG NODE_VERSION="22" +ARG NODE_VERSION="22.2.0" -RUN apt update -y -RUN apt install tar gzip build-essential ca-certificates curl gnupg -y -RUN mkdir -p /etc/apt/keyrings -RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -RUN echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_VERSION.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list -RUN apt update -y && apt-get install -y nodejs -RUN npm i -g yarn pnpm +RUN apk update +RUN apk add tar gzip curl rsync RUN mkdir /tmp/temph RUN mkdir /home/app WORKDIR /tmp/temph +RUN wget https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.xz \ + && 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 -# Cleanup RUN rm -rfv /tmp/temph ENTRYPOINT [ "/bin/bash" ] \ No newline at end of file diff --git a/README.md b/README.md index fb46cc0..af59cb3 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # Hugo Extended CI Container -Contains NodeJS, yarn, pnpm, npm +Based on golang:`go version`-alpine + +Contains nodejs, yarn, pnpm, npm Specific tag versions follow this definition: extended-`hugo version`-`node vesion`-`go vesion` @@ -10,7 +12,7 @@ eg. git.myco.systems/mycosystems/hugo-ci:extended-0.126.3-22-1.22.3 ``` -# To use +## To use Run the following in your hugo directory: ``` @@ -21,7 +23,7 @@ To also host locally: docker run -p 1313:1313 -v .:/home/app -ti --network=host git.myco.systems/mycosystems/hugo-ci:extended-latest ``` -# Links +## Links ~~[Docker](https://hub.docker.com/r/betterweb/hugo)~~ ~~[Github](https://github.com/BetterCorp/hugo)~~