diff --git a/.woodpecker/base-cont.yml b/.woodpecker/base-cont.yml new file mode 100644 index 0000000..92ea0bf --- /dev/null +++ b/.woodpecker/base-cont.yml @@ -0,0 +1,13 @@ +steps: + build: + image: woodpeckerci/plugin-docker-buildx + settings: + repo: gitea.simcop2387.info/simcop2387/papermc-base-os + registry: gitea.simcop2387.info + auto_tag: true + dockerfile: os-base/Dockerfile + tags: + - base-${CI_PIPELINE_NUMBER} + username: simcop2387 + password: + from_secret: docker_token diff --git a/.woodpecker/.build.yml b/.woodpecker/build.yml similarity index 74% rename from .woodpecker/.build.yml rename to .woodpecker/build.yml index 10d90bb..15dbee4 100644 --- a/.woodpecker/.build.yml +++ b/.woodpecker/build.yml @@ -1,3 +1,6 @@ +depends_on: + - 'base-cont' + matrix: MC_VERSION: # - 1.19.3 @@ -6,10 +9,8 @@ matrix: # - 1.20.2 # - 1.20.4 # - 1.20.6 - - 1.21 - 1.21.1 - 1.21.3 - - 1.21.4 steps: build: @@ -29,16 +30,3 @@ steps: - RCON_CLI_VER=1.6.4 - memory_size=3G # - java_flags="-Dlog4j2.formatMsgNoLookups=true -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=mcflags.emc.gs -Dcom.mojang.eula.agree=true" - discord notification: - image: appleboy/drone-discord - settings: - webhook_id: - from_secret: discord_webhook_id - webhook_token: - from_secret: discord_webhook_token - message: > - {{#success build.status}} - build {{build.number}} succeeded. Good job. - {{else}} - build {{build.number}} failed. Fix me please. - {{/success}} diff --git a/.woodpecker/discord.yml b/.woodpecker/discord.yml new file mode 100644 index 0000000..8a32f76 --- /dev/null +++ b/.woodpecker/discord.yml @@ -0,0 +1,20 @@ +depends_on: + - 'base-cont' + - 'build' + +runs_on: ['success', 'failure'] + +steps: + discord notification: + image: appleboy/drone-discord + settings: + webhook_id: + from_secret: discord_webhook_id + webhook_token: + from_secret: discord_webhook_token + message: > + {{#success build.status}} + build {{build.number}} succeeded. Good job. + {{else}} + build {{build.number}} failed. Fix me please. + {{/success}} diff --git a/Dockerfile b/Dockerfile index dc1ce57..5577569 100755 --- a/Dockerfile +++ b/Dockerfile @@ -1,23 +1,7 @@ ######################################################## ############## We use a java base image ################ ######################################################## -FROM debian:sid AS build -# Set environment variables to avoid interactive prompts -ENV DEBIAN_FRONTEND=noninteractive -ENV APT_LISTCHANGES_FRONTEND=none - -RUN ls -lah /etc/apt/sources.list.d/ -RUN sed -i -e's/ main/ main contrib non-free/g' /etc/apt/sources.list.d/debian.sources -RUN apt update && apt install -y curl jq bash sudo wget gnupg2 - -RUN wget -O - https://apt.corretto.aws/corretto.key | gpg --dearmor -o /usr/share/keyrings/corretto-keyring.gpg && \ - echo "deb [signed-by=/usr/share/keyrings/corretto-keyring.gpg] https://apt.corretto.aws stable main" | tee /etc/apt/sources.list.d/corretto.list - -RUN apt-get update && apt-get install -y java-21-amazon-corretto-jdk libxi6 libxtst6 libxrender1 - -LABEL Marc Tönsing - -ARG version=1.20.6 +FROM gitea.simcop2387.info/simcop2387/papermc-base-os:latest AS build ######################################################## ############## Download Paper with API ################# @@ -35,19 +19,7 @@ RUN java -Dpaperclip.patchonly=true -jar /opt/minecraft/paperclip.jar; exit 0 ######################################################## ############## Running environment ##################### ######################################################## -FROM debian:sid AS runtime -# Set environment variables to avoid interactive prompts -ENV DEBIAN_FRONTEND=noninteractive -ENV APT_LISTCHANGES_FRONTEND=none - -RUN sed -i -e's/ main/ main contrib non-free/g' /etc/apt/sources.list.d/debian.sources -RUN apt update && apt install -y curl jq bash sudo wget gnupg2 - -RUN wget -O - https://apt.corretto.aws/corretto.key | gpg --dearmor -o /usr/share/keyrings/corretto-keyring.gpg && \ - echo "deb [signed-by=/usr/share/keyrings/corretto-keyring.gpg] https://apt.corretto.aws stable main" | tee /etc/apt/sources.list.d/corretto.list - -RUN apt-get update && apt-get install -y java-21-amazon-corretto-jdk libxi6 libxtst6 libxrender1 - +FROM gitea.simcop2387.info/simcop2387/papermc-base-os:latest AS runtime # Working directory WORKDIR /data @@ -84,12 +56,6 @@ RUN chmod +x /opt/minecraft/docker-entrypoint.sh RUN addgroup --gid 9001 dockergroup RUN adduser --shell /bin/sh --uid 9001 --gid 9001 dockeruser - -# Install gosu -#RUN set -eux; \ -# apk update; \ -# apk add --no-cache su-exec; - # Entrypoint ENTRYPOINT ["/opt/minecraft/docker-entrypoint.sh"] diff --git a/os-base/Dockerfile b/os-base/Dockerfile new file mode 100755 index 0000000..961e572 --- /dev/null +++ b/os-base/Dockerfile @@ -0,0 +1,16 @@ +######################################################## +############## We use a java base image ################ +######################################################## +FROM debian:sid +# Set environment variables to avoid interactive prompts +ENV DEBIAN_FRONTEND=noninteractive +ENV APT_LISTCHANGES_FRONTEND=none + +RUN ls -lah /etc/apt/sources.list.d/ +RUN sed -i -e's/ main/ main contrib non-free/g' /etc/apt/sources.list.d/debian.sources +RUN apt update && apt install -y curl jq bash sudo wget gnupg2 + +RUN wget -O - https://apt.corretto.aws/corretto.key | gpg --dearmor -o /usr/share/keyrings/corretto-keyring.gpg && \ + echo "deb [signed-by=/usr/share/keyrings/corretto-keyring.gpg] https://apt.corretto.aws stable main" | tee /etc/apt/sources.list.d/corretto.list + +RUN apt-get update && apt-get install -y java-21-amazon-corretto-jdk libxi6 libxtst6 libxrender1