From 7fd0c4bfa0ffc48f8780fc528078d8ba05ca4b48 Mon Sep 17 00:00:00 2001 From: Vladimir Rubin Date: Thu, 28 Nov 2024 10:04:46 +0200 Subject: [PATCH] ci(docker): add autobuild dockerimages --- .gitea/workflows/docker.yaml | 34 ++++++++++++++++++++++++++++++++++ .gitignore | 3 --- Dockerfile | 2 +- rel/overlays/bin/migrate | 5 +++++ rel/overlays/bin/migrate.bat | 1 + rel/overlays/bin/server | 5 +++++ rel/overlays/bin/server.bat | 2 ++ 7 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 .gitea/workflows/docker.yaml create mode 100755 rel/overlays/bin/migrate create mode 100755 rel/overlays/bin/migrate.bat create mode 100755 rel/overlays/bin/server create mode 100755 rel/overlays/bin/server.bat diff --git a/.gitea/workflows/docker.yaml b/.gitea/workflows/docker.yaml new file mode 100644 index 0000000..d9ae9cf --- /dev/null +++ b/.gitea/workflows/docker.yaml @@ -0,0 +1,34 @@ +name: Build and Push Docker Image + +on: + push: + branches: + - main # Change this to your default branch if different + +jobs: + build: + name: Build and Push Image + runs-on: ubuntu-latest-root # This specifies the environment for the job + + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Login to Docker Registry + uses: docker/login-action@v3 + with: + registry: gitea.haientus.duckdns.org # Replace with your Docker registry URL + username: ${{ gitea.actor }} # The actor who triggered the action + password: ${{ secrets.REGISTRY_TOKEN }} # Your registry token secret + + - name: Build Docker Image + run: | + TODAY=$(date +'%Y-%m-%d') + docker build -t gitea.haientus.duckdns.org/vavakado/exmr:${TODAY} . + docker tag gitea.haientus.duckdns.org/vavakado/exmr:${TODAY} gitea.haientus.duckdns.org/vavakado/exmr:latest + + - name: Push Docker Image + run: | + TODAY=$(date +'%Y-%m-%d') + docker push gitea.haientus.duckdns.org/vavakado/exmr:${TODAY} + docker push gitea.haientus.duckdns.org/vavakado/exmr:latest diff --git a/.gitignore b/.gitignore index b9374ba..85037b9 100644 --- a/.gitignore +++ b/.gitignore @@ -39,6 +39,3 @@ exmr-*.tar # In case you use Node.js/npm, you want to ignore these. npm-debug.log /assets/node_modules/ - -# ignore release artifacts -/rel/ diff --git a/Dockerfile b/Dockerfile index 2c6b13a..74b2723 100644 --- a/Dockerfile +++ b/Dockerfile @@ -43,7 +43,7 @@ RUN mkdir config # to ensure any relevant config change will trigger the dependencies # to be re-compiled. COPY config/config.exs config/${MIX_ENV}.exs config/ -RUN mix deps.compile +RUN mix deps.compile --only $MIX_ENV COPY priv priv diff --git a/rel/overlays/bin/migrate b/rel/overlays/bin/migrate new file mode 100755 index 0000000..6e73f0c --- /dev/null +++ b/rel/overlays/bin/migrate @@ -0,0 +1,5 @@ +#!/bin/sh +set -eu + +cd -P -- "$(dirname -- "$0")" +exec ./exmr eval Exmr.Release.migrate diff --git a/rel/overlays/bin/migrate.bat b/rel/overlays/bin/migrate.bat new file mode 100755 index 0000000..88fc0ac --- /dev/null +++ b/rel/overlays/bin/migrate.bat @@ -0,0 +1 @@ +call "%~dp0\exmr" eval Exmr.Release.migrate diff --git a/rel/overlays/bin/server b/rel/overlays/bin/server new file mode 100755 index 0000000..1280527 --- /dev/null +++ b/rel/overlays/bin/server @@ -0,0 +1,5 @@ +#!/bin/sh +set -eu + +cd -P -- "$(dirname -- "$0")" +PHX_SERVER=true exec ./exmr start diff --git a/rel/overlays/bin/server.bat b/rel/overlays/bin/server.bat new file mode 100755 index 0000000..e4734b2 --- /dev/null +++ b/rel/overlays/bin/server.bat @@ -0,0 +1,2 @@ +set PHX_SERVER=true +call "%~dp0\exmr" start