diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 00000000..d7afba7c --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,47 @@ +name: Build and push Docker Image +run-name: Deploy Docker image to GHCR by @${{ github.actor }} + +env: + GHCR_TOKEN: ${{ secrets.GHCR_TOKEN }} + +on: + push: + branches: + - master + +jobs: + build: + runs-on: ubuntu-latest + env: + GHCR_TOKEN: ${{ secrets.GHCR_TOKEN }} + + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: '21' + + # - run: chmod +x gradlew + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v3 + + - name: Assemble Jar + run: ./gradlew -Dorg.gradle.jvmargs=--enable-preview assemble + env: + REPO_USERNAME: ${{ secrets.REPO_USERNAME }} + REPO_PASSWORD: ${{ secrets.REPO_PASSWORD }} + + - name: Build Docker Image + run: docker build -t cytosis -f docker/basic/Dockerfile . + + - name: Tag Docker Image + run: docker tag cytosis ghcr.io/cytonicmc/cytosis:latest + + - name: Login to GHCR + run: echo $GHCR_TOKEN | docker login ghcr.io -u CytonicMC --password-stdin + + - name: Push Docker Image + run: docker push ghcr.io/cytonicmc/cytosis:latest + diff --git a/build.gradle.kts b/build.gradle.kts index 8f20ddb6..0b6a7b9e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -62,7 +62,9 @@ tasks { archiveFileName.set("cytosis.jar") archiveClassifier.set("") destinationDirectory.set( - file(providers.gradleProperty("server_dir").orElse(destinationDirectory.get().toString())) + file( + providers.gradleProperty("server_dir").orElse(destinationDirectory.get().toString()) + ) ) } } diff --git a/docker/basic/Dockerfile b/docker/basic/Dockerfile new file mode 100644 index 00000000..c0d88d99 --- /dev/null +++ b/docker/basic/Dockerfile @@ -0,0 +1,14 @@ +FROM eclipse-temurin:21-jre-jammy +LABEL authors="CytonicMC" + +# Set the working directory +WORKDIR /app + +# Copy cytosis Jar +COPY ../../build/libs/cytosis.jar . + +# Expose the port +EXPOSE 25565 + +# Run the java +CMD ["java", "-DSERVER_PORT=25565", "-jar", "--enable-preview", "cytosis.jar"] \ No newline at end of file