From 362040bd3c69f176b5bb17d2af435fef2d8c62ea Mon Sep 17 00:00:00 2001 From: benbierens Date: Mon, 1 Apr 2024 21:29:02 +0200 Subject: [PATCH] Sets up docker image and CI --- .github/workflows/docker-autoclient.yml | 26 +++++++++++++++++++++++++ Tools/AutoClient/docker/Dockerfile | 24 +++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 .github/workflows/docker-autoclient.yml create mode 100644 Tools/AutoClient/docker/Dockerfile diff --git a/.github/workflows/docker-autoclient.yml b/.github/workflows/docker-autoclient.yml new file mode 100644 index 00000000..41d31018 --- /dev/null +++ b/.github/workflows/docker-autoclient.yml @@ -0,0 +1,26 @@ +name: Docker - AutoClient + +on: + push: + branches: + - master + tags: + - 'v*.*.*' + paths: + - 'Tools/AutoClient/**' + - '!Tools/AutoClient/docker/docker-compose.yaml' + - 'Framework/**' + - 'ProjectPlugins/**' + - .github/workflows/docker-autoclient.yml + - .github/workflows/docker-reusable.yml + workflow_dispatch: + +jobs: + build-and-push: + name: Build and Push + uses: ./.github/workflows/docker-reusable.yml + with: + docker_file: Tools/AutoClient/docker/Dockerfile + docker_repo: codexstorage/codex-autoclient + secrets: inherit + diff --git a/Tools/AutoClient/docker/Dockerfile b/Tools/AutoClient/docker/Dockerfile new file mode 100644 index 00000000..a1436c24 --- /dev/null +++ b/Tools/AutoClient/docker/Dockerfile @@ -0,0 +1,24 @@ +# Variables +ARG BUILDER=mcr.microsoft.com/dotnet/sdk:7.0 +ARG IMAGE=${BUILDER} +ARG APP_HOME=/app + +# Build +FROM ${IMAGE} AS builder +ARG APP_HOME + +WORKDIR ${APP_HOME} +COPY ./Tools/AutoClient ./Tools/AutoClient +COPY ./Framework ./Framework +COPY ./ProjectPlugins ./ProjectPlugins +RUN dotnet restore Tools/AutoClient +RUN dotnet publish Tools/AutoClient -c Release -o out + +# Create +FROM ${IMAGE} +ARG APP_HOME +ENV APP_HOME=${APP_HOME} + +WORKDIR ${APP_HOME} +COPY --from=builder ${APP_HOME}/out . +CMD dotnet ${APP_HOME}/AutoClient.dll