97 lines
2.8 KiB
YAML
97 lines
2.8 KiB
YAML
name: Build Docker Image
|
|
|
|
# Builds images on every push to main or tag, but does NOT auto-deploy
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
tags:
|
|
- "v*" # v1.0.0, v1.0.1, etc.
|
|
|
|
jobs:
|
|
# test-backend:
|
|
# runs-on: docker
|
|
|
|
# steps:
|
|
# - name: Checkout repository
|
|
# uses: actions/checkout@v4
|
|
|
|
# - name: Run backend tests
|
|
# run: |
|
|
# docker buildx build \
|
|
# --target backend-test \
|
|
# --platform linux/amd64 \
|
|
# -f be/docker/common/unified/Dockerfile \
|
|
# .
|
|
|
|
build-backend:
|
|
runs-on: docker
|
|
# needs: [test-backend]
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Login to Docker registry
|
|
run: |
|
|
echo "${{ secrets.REGISTRY_PASSWORD }}" | \
|
|
docker login git.koppkb.com \
|
|
-u "${{ secrets.REGISTRY_USERNAME }}" \
|
|
--password-stdin
|
|
|
|
- name: Build & push backend image
|
|
run: |
|
|
set -e
|
|
|
|
IMAGE="git.koppkb.com/KoPKB/My-KOPKB-be"
|
|
TAGS="-t ${IMAGE}:${{ gitea.sha }}"
|
|
|
|
if [ "${{ gitea.ref_type }}" = "tag" ] && echo "${{ gitea.ref_name }}" | grep -q '^v'; then
|
|
TAGS="${TAGS} -t ${IMAGE}:${{ gitea.ref_name }}"
|
|
fi
|
|
|
|
echo "Building and pushing backend: ${TAGS}"
|
|
docker buildx build \
|
|
--platform linux/amd64 \
|
|
--cache-from type=registry,ref=${IMAGE}:buildcache,ignore-error=true \
|
|
--cache-to type=registry,ref=${IMAGE}:buildcache,mode=max \
|
|
-f be/docker/common/unified/Dockerfile \
|
|
${TAGS} \
|
|
--push .
|
|
|
|
build-frontend:
|
|
runs-on: docker
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Login to Docker registry
|
|
run: |
|
|
echo "${{ secrets.REGISTRY_PASSWORD }}" | \
|
|
docker login git.koppkb.com \
|
|
-u "${{ secrets.REGISTRY_USERNAME }}" \
|
|
--password-stdin
|
|
|
|
- name: Build & push frontend image
|
|
run: |
|
|
set -e
|
|
|
|
IMAGE="git.koppkb.com/KoPKB/My-KOPKB-fe"
|
|
TAGS="-t ${IMAGE}:${{ gitea.sha }}"
|
|
|
|
if [ "${{ gitea.ref_type }}" = "tag" ] && echo "${{ gitea.ref_name }}" | grep -q '^v'; then
|
|
TAGS="${TAGS} -t ${IMAGE}:${{ gitea.ref_name }}"
|
|
fi
|
|
|
|
echo "Building and pushing frontend: ${TAGS}"
|
|
docker buildx build \
|
|
--platform linux/amd64 \
|
|
--cache-from type=registry,ref=${IMAGE}:buildcache,ignore-error=true \
|
|
--cache-to type=registry,ref=${IMAGE}:buildcache,mode=max \
|
|
-f fe/docker/Dockerfile \
|
|
--build-arg VITE_API_BASE_URL=https://api.koppkb.com \
|
|
--build-arg VITE_APP_URL=https://anggota.koppkb.com \
|
|
${TAGS} \
|
|
--push .
|