From eb5bc02f212b64f1477baa9390ac6160f91ef328 Mon Sep 17 00:00:00 2001 From: Tim Wundenberg Date: Sun, 28 Jul 2024 21:48:46 +0200 Subject: [PATCH] #13 action for automatically building and pushing docker images Co-authored-by: Tim Reviewed-on: https://git.wundenbergs.de/tim/me-fit/pulls/20 --- .gitea/workflows/build.yaml | 15 +++++++++++++++ .gitea/workflows/buildAndPush.yaml | 26 ++++++++++++++++++++++++++ api/Dockerfile | 2 +- view/Dockerfile | 5 +++-- 4 files changed, 45 insertions(+), 3 deletions(-) create mode 100644 .gitea/workflows/build.yaml create mode 100644 .gitea/workflows/buildAndPush.yaml diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml new file mode 100644 index 0000000..a388e10 --- /dev/null +++ b/.gitea/workflows/build.yaml @@ -0,0 +1,15 @@ +name: Build Docker Image +on: + push: + +jobs: + Explore-Gitea-Actions: + runs-on: ubuntu-latest + steps: + - name: Check out repository code + uses: actions/checkout@v4 + - run: docker build api/ + - run: | + docker build \ + --build-arg="PUBLIC_BASE_API_URL=${{ vars.PUBLIC_BASE_API_URL }}" \ + view/ diff --git a/.gitea/workflows/buildAndPush.yaml b/.gitea/workflows/buildAndPush.yaml new file mode 100644 index 0000000..31ade88 --- /dev/null +++ b/.gitea/workflows/buildAndPush.yaml @@ -0,0 +1,26 @@ +name: Build and Push Docker Image +on: + push: + branches: + - main + +jobs: + Explore-Gitea-Actions: + runs-on: ubuntu-latest + steps: + - name: Check out repository code + uses: actions/checkout@v4 + - run: docker login git.wundenbergs.de -u tim -p ${{ secrets.DOCKER_GITEA_TOKEN }} + - run: | + docker build \ + -t git.wundenbergs.de/tim/me-fit/api:latest \ + -t git.wundenbergs.de/tim/me-fit/api:$GITHUB_SHA \ + api/ + - run: docker push git.wundenbergs.de/tim/me-fit/api:latest + - run: | + docker build \ + --build-arg="PUBLIC_BASE_API_URL=${{ vars.PUBLIC_BASE_API_URL }}" \ + -t git.wundenbergs.de/tim/me-fit/view:latest \ + -t git.wundenbergs.de/tim/me-fit/view:$GITHUB_SHA \ + view/ + - run: docker push git.wundenbergs.de/tim/me-fit/view:latest diff --git a/api/Dockerfile b/api/Dockerfile index 27fca56..fbebe52 100644 --- a/api/Dockerfile +++ b/api/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.22 as builder +FROM golang:1.22 AS builder WORKDIR /app COPY go.mod go.sum main.go ./ diff --git a/view/Dockerfile b/view/Dockerfile index 0765123..dcbfdc6 100644 --- a/view/Dockerfile +++ b/view/Dockerfile @@ -1,9 +1,10 @@ FROM node:20 AS build +ARG PUBLIC_BASE_API_URL= -WORKDIR . +WORKDIR /app COPY . ./ RUN npm install && npm run build FROM nginx:1.27.0-alpine -COPY --from=build /build /usr/share/nginx/html +COPY --from=build /app/build /usr/share/nginx/html