Enhance Docker build process by adding FORGE_SNAPSHOT_TAG argument and updating image build and push steps for better clarity and functionality
Some checks failed
Build & Push Forge-Kasm / docker (push) Failing after 53s
Some checks failed
Build & Push Forge-Kasm / docker (push) Failing after 53s
This commit is contained in:
@@ -44,16 +44,23 @@ jobs:
|
|||||||
USERNAME=${{ secrets.DOCKERHUB_USERNAME }}
|
USERNAME=${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
TAG=${{ steps.get_tag.outputs.snapshot_tag }}
|
TAG=${{ steps.get_tag.outputs.snapshot_tag }}
|
||||||
|
|
||||||
echo "Building and pushing image as: $USERNAME/$IMAGE:$TAG"
|
echo "Building Docker image as: $USERNAME/$IMAGE:$TAG"
|
||||||
|
|
||||||
docker build -t $USERNAME/$IMAGE:$TAG .
|
docker build \
|
||||||
|
--build-arg FORGE_SNAPSHOT_TAG=$TAG \
|
||||||
|
-t $USERNAME/$IMAGE:$TAG .
|
||||||
|
|
||||||
|
echo "Pushing Docker image: $USERNAME/$IMAGE:$TAG"
|
||||||
docker push $USERNAME/$IMAGE:$TAG
|
docker push $USERNAME/$IMAGE:$TAG
|
||||||
|
|
||||||
- name: (Optional) Also Push 'latest' Tag
|
- name: Also Push 'latest' Tag
|
||||||
run: |
|
run: |
|
||||||
IMAGE=forge-kasm
|
IMAGE=forge-kasm
|
||||||
USERNAME=${{ secrets.DOCKERHUB_USERNAME }}
|
USERNAME=${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
TAG=${{ steps.get_tag.outputs.snapshot_tag }}
|
TAG=${{ steps.get_tag.outputs.snapshot_tag }}
|
||||||
|
|
||||||
|
echo "Tagging image as 'latest'"
|
||||||
docker tag $USERNAME/$IMAGE:$TAG $USERNAME/$IMAGE:latest
|
docker tag $USERNAME/$IMAGE:$TAG $USERNAME/$IMAGE:latest
|
||||||
|
|
||||||
|
echo "Pushing Docker image: $USERNAME/$IMAGE:latest"
|
||||||
docker push $USERNAME/$IMAGE:latest
|
docker push $USERNAME/$IMAGE:latest
|
||||||
|
|||||||
11
Dockerfile
11
Dockerfile
@@ -10,17 +10,22 @@ WORKDIR $HOME
|
|||||||
|
|
||||||
######### Customize Container Here ###########
|
######### Customize Container Here ###########
|
||||||
|
|
||||||
### Install Java 17
|
# Add new ARG
|
||||||
|
ARG FORGE_SNAPSHOT_TAG
|
||||||
|
|
||||||
|
# Install Java
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get install -y openjdk-17-jdk && \
|
apt-get install -y openjdk-17-jdk && \
|
||||||
apt-get clean && \
|
apt-get clean && \
|
||||||
rm -rf /var/lib/apt/lists/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
### Install Forge to /opt/forge, placing the start file at /opt/forge/forge.sh
|
### Install Forge to /opt/forge, placing the start file at /opt/forge/forge.sh
|
||||||
|
# Use snapshot tag in URL to bust cache if it changes
|
||||||
WORKDIR /tmp/forge-download
|
WORKDIR /tmp/forge-download
|
||||||
RUN apt-get update && apt-get install -y jq curl && \
|
RUN apt-get update && apt-get install -y jq curl && \
|
||||||
SNAPSHOT_URL=$(curl -s https://api.github.com/repos/Card-Forge/forge/releases/tags/daily-snapshots \
|
SNAPSHOT_URL=$(curl -s https://api.github.com/repos/Card-Forge/forge/releases/tags/daily-snapshots \
|
||||||
| jq -r '.assets[] | select(.name | test("forge-installer-.*\\.tar\\.bz2")) | .browser_download_url') && \
|
| jq -r --arg TAG "$FORGE_SNAPSHOT_TAG" '.assets[] | select(.name | contains($TAG)) | .browser_download_url') && \
|
||||||
|
echo "Downloading $SNAPSHOT_URL" && \
|
||||||
curl -L "$SNAPSHOT_URL" -o forge.tar.bz2 && \
|
curl -L "$SNAPSHOT_URL" -o forge.tar.bz2 && \
|
||||||
mkdir -p /opt/forge && \
|
mkdir -p /opt/forge && \
|
||||||
tar -xjf forge.tar.bz2 -C /opt/forge && \
|
tar -xjf forge.tar.bz2 -C /opt/forge && \
|
||||||
@@ -46,4 +51,4 @@ ENV HOME /home/kasm-user
|
|||||||
WORKDIR $HOME
|
WORKDIR $HOME
|
||||||
RUN mkdir -p $HOME && chown -R 1000:0 $HOME
|
RUN mkdir -p $HOME && chown -R 1000:0 $HOME
|
||||||
|
|
||||||
USER 1000
|
USER 1000
|
||||||
|
|||||||
Reference in New Issue
Block a user