ci: add branch tags to docker builds
This commit is contained in:
+111
-11
@@ -112,7 +112,7 @@ jobs:
|
|||||||
"${manifests[@]}"
|
"${manifests[@]}"
|
||||||
|
|
||||||
build:
|
build:
|
||||||
if: github.event_name != 'pull_request' && github.ref_name == 'main'
|
if: github.event_name != 'pull_request' && (github.ref_name == 'main' || github.ref_name == 'dev')
|
||||||
runs-on: [self-hosted, linux, arch, homelab]
|
runs-on: [self-hosted, linux, arch, homelab]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
@@ -191,24 +191,124 @@ jobs:
|
|||||||
for service in "${services[@]}"; do
|
for service in "${services[@]}"; do
|
||||||
case "$service" in
|
case "$service" in
|
||||||
dtek_notif)
|
dtek_notif)
|
||||||
docker build -t "${REGISTRY}/forust/dtek-notif:latest" dtek_notif
|
image="${REGISTRY}/forust/dtek-notif"
|
||||||
docker push "${REGISTRY}/forust/dtek-notif:latest"
|
tags=("latest")
|
||||||
|
case "${GITHUB_REF_NAME}" in
|
||||||
|
main)
|
||||||
|
tags+=("main" "prod")
|
||||||
|
;;
|
||||||
|
dev)
|
||||||
|
tags+=("dev")
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
build_args=()
|
||||||
|
for tag in "${tags[@]}"; do
|
||||||
|
build_args+=(-t "${image}:${tag}")
|
||||||
|
done
|
||||||
|
docker build "${build_args[@]}" dtek_notif
|
||||||
|
for tag in "${tags[@]}"; do
|
||||||
|
docker push "${image}:${tag}"
|
||||||
|
done
|
||||||
;;
|
;;
|
||||||
errorpages)
|
errorpages)
|
||||||
docker compose -f errorpages/compose.yaml build errorpage
|
image="${REGISTRY}/forust/error-pages"
|
||||||
docker compose -f errorpages/compose.yaml push errorpage
|
tags=("latest")
|
||||||
|
case "${GITHUB_REF_NAME}" in
|
||||||
|
main)
|
||||||
|
tags+=("main" "prod")
|
||||||
|
;;
|
||||||
|
dev)
|
||||||
|
tags+=("dev")
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
build_args=()
|
||||||
|
for tag in "${tags[@]}"; do
|
||||||
|
build_args+=(-t "${image}:${tag}")
|
||||||
|
done
|
||||||
|
docker build "${build_args[@]}" errorpages
|
||||||
|
for tag in "${tags[@]}"; do
|
||||||
|
docker push "${image}:${tag}"
|
||||||
|
done
|
||||||
;;
|
;;
|
||||||
userbot)
|
userbot)
|
||||||
docker compose -f userbot/compose.yaml build forust
|
image="${REGISTRY}/forust/userbot"
|
||||||
docker compose -f userbot/compose.yaml push forust
|
tags=("latest")
|
||||||
|
case "${GITHUB_REF_NAME}" in
|
||||||
|
main)
|
||||||
|
tags+=("main" "prod")
|
||||||
|
;;
|
||||||
|
dev)
|
||||||
|
tags+=("dev")
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
build_args=()
|
||||||
|
for tag in "${tags[@]}"; do
|
||||||
|
build_args+=(-t "${image}:${tag}")
|
||||||
|
done
|
||||||
|
docker build "${build_args[@]}" userbot
|
||||||
|
for tag in "${tags[@]}"; do
|
||||||
|
docker push "${image}:${tag}"
|
||||||
|
done
|
||||||
;;
|
;;
|
||||||
homepages)
|
homepages)
|
||||||
docker compose -f homepages/compose.yaml build forust xdfnx
|
for service in forust xdfnx; do
|
||||||
docker compose -f homepages/compose.yaml push forust xdfnx
|
case "$service" in
|
||||||
|
forust)
|
||||||
|
image="${REGISTRY}/forust/forust-homepage"
|
||||||
|
;;
|
||||||
|
xdfnx)
|
||||||
|
image="${REGISTRY}/forust/xdfnx-homepage"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
tags=("latest")
|
||||||
|
case "${GITHUB_REF_NAME}" in
|
||||||
|
main)
|
||||||
|
tags+=("main" "prod")
|
||||||
|
;;
|
||||||
|
dev)
|
||||||
|
tags+=("dev")
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
build_args=()
|
||||||
|
for tag in "${tags[@]}"; do
|
||||||
|
build_args+=(-t "${image}:${tag}")
|
||||||
|
done
|
||||||
|
docker build "${build_args[@]}" -f "homepages/Dockerfile.${service}" homepages
|
||||||
|
for tag in "${tags[@]}"; do
|
||||||
|
docker push "${image}:${tag}"
|
||||||
|
done
|
||||||
|
done
|
||||||
;;
|
;;
|
||||||
edu_master)
|
edu_master)
|
||||||
docker compose -f edu_master/compose.yaml build session-keeper webinar-checker
|
for service in session-keeper webinar-checker; do
|
||||||
docker compose -f edu_master/compose.yaml push session-keeper webinar-checker
|
case "$service" in
|
||||||
|
session-keeper)
|
||||||
|
context="edu_master/phpsessid-bot"
|
||||||
|
image="${REGISTRY}/forust/session-keeper"
|
||||||
|
;;
|
||||||
|
webinar-checker)
|
||||||
|
context="edu_master/webinar-checker"
|
||||||
|
image="${REGISTRY}/forust/webinar-checker"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
tags=("latest")
|
||||||
|
case "${GITHUB_REF_NAME}" in
|
||||||
|
main)
|
||||||
|
tags+=("main" "prod")
|
||||||
|
;;
|
||||||
|
dev)
|
||||||
|
tags+=("dev")
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
build_args=()
|
||||||
|
for tag in "${tags[@]}"; do
|
||||||
|
build_args+=(-t "${image}:${tag}")
|
||||||
|
done
|
||||||
|
docker build "${build_args[@]}" "$context"
|
||||||
|
for tag in "${tags[@]}"; do
|
||||||
|
docker push "${image}:${tag}"
|
||||||
|
done
|
||||||
|
done
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|||||||
+111
-11
@@ -112,7 +112,7 @@ jobs:
|
|||||||
"${manifests[@]}"
|
"${manifests[@]}"
|
||||||
|
|
||||||
build:
|
build:
|
||||||
if: github.event_name != 'pull_request' && github.ref_name == 'main'
|
if: github.event_name != 'pull_request' && (github.ref_name == 'main' || github.ref_name == 'dev')
|
||||||
runs-on: [self-hosted, linux, arch, homelab]
|
runs-on: [self-hosted, linux, arch, homelab]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
@@ -191,24 +191,124 @@ jobs:
|
|||||||
for service in "${services[@]}"; do
|
for service in "${services[@]}"; do
|
||||||
case "$service" in
|
case "$service" in
|
||||||
dtek_notif)
|
dtek_notif)
|
||||||
docker build -t "${REGISTRY}/forust/dtek-notif:latest" dtek_notif
|
image="${REGISTRY}/forust/dtek-notif"
|
||||||
docker push "${REGISTRY}/forust/dtek-notif:latest"
|
tags=("latest")
|
||||||
|
case "${GITHUB_REF_NAME}" in
|
||||||
|
main)
|
||||||
|
tags+=("main" "prod")
|
||||||
|
;;
|
||||||
|
dev)
|
||||||
|
tags+=("dev")
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
build_args=()
|
||||||
|
for tag in "${tags[@]}"; do
|
||||||
|
build_args+=(-t "${image}:${tag}")
|
||||||
|
done
|
||||||
|
docker build "${build_args[@]}" dtek_notif
|
||||||
|
for tag in "${tags[@]}"; do
|
||||||
|
docker push "${image}:${tag}"
|
||||||
|
done
|
||||||
;;
|
;;
|
||||||
errorpages)
|
errorpages)
|
||||||
docker compose -f errorpages/compose.yaml build errorpage
|
image="${REGISTRY}/forust/error-pages"
|
||||||
docker compose -f errorpages/compose.yaml push errorpage
|
tags=("latest")
|
||||||
|
case "${GITHUB_REF_NAME}" in
|
||||||
|
main)
|
||||||
|
tags+=("main" "prod")
|
||||||
|
;;
|
||||||
|
dev)
|
||||||
|
tags+=("dev")
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
build_args=()
|
||||||
|
for tag in "${tags[@]}"; do
|
||||||
|
build_args+=(-t "${image}:${tag}")
|
||||||
|
done
|
||||||
|
docker build "${build_args[@]}" errorpages
|
||||||
|
for tag in "${tags[@]}"; do
|
||||||
|
docker push "${image}:${tag}"
|
||||||
|
done
|
||||||
;;
|
;;
|
||||||
userbot)
|
userbot)
|
||||||
docker compose -f userbot/compose.yaml build forust
|
image="${REGISTRY}/forust/userbot"
|
||||||
docker compose -f userbot/compose.yaml push forust
|
tags=("latest")
|
||||||
|
case "${GITHUB_REF_NAME}" in
|
||||||
|
main)
|
||||||
|
tags+=("main" "prod")
|
||||||
|
;;
|
||||||
|
dev)
|
||||||
|
tags+=("dev")
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
build_args=()
|
||||||
|
for tag in "${tags[@]}"; do
|
||||||
|
build_args+=(-t "${image}:${tag}")
|
||||||
|
done
|
||||||
|
docker build "${build_args[@]}" userbot
|
||||||
|
for tag in "${tags[@]}"; do
|
||||||
|
docker push "${image}:${tag}"
|
||||||
|
done
|
||||||
;;
|
;;
|
||||||
homepages)
|
homepages)
|
||||||
docker compose -f homepages/compose.yaml build forust xdfnx
|
for service in forust xdfnx; do
|
||||||
docker compose -f homepages/compose.yaml push forust xdfnx
|
case "$service" in
|
||||||
|
forust)
|
||||||
|
image="${REGISTRY}/forust/forust-homepage"
|
||||||
|
;;
|
||||||
|
xdfnx)
|
||||||
|
image="${REGISTRY}/forust/xdfnx-homepage"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
tags=("latest")
|
||||||
|
case "${GITHUB_REF_NAME}" in
|
||||||
|
main)
|
||||||
|
tags+=("main" "prod")
|
||||||
|
;;
|
||||||
|
dev)
|
||||||
|
tags+=("dev")
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
build_args=()
|
||||||
|
for tag in "${tags[@]}"; do
|
||||||
|
build_args+=(-t "${image}:${tag}")
|
||||||
|
done
|
||||||
|
docker build "${build_args[@]}" -f "homepages/Dockerfile.${service}" homepages
|
||||||
|
for tag in "${tags[@]}"; do
|
||||||
|
docker push "${image}:${tag}"
|
||||||
|
done
|
||||||
|
done
|
||||||
;;
|
;;
|
||||||
edu_master)
|
edu_master)
|
||||||
docker compose -f edu_master/compose.yaml build session-keeper webinar-checker
|
for service in session-keeper webinar-checker; do
|
||||||
docker compose -f edu_master/compose.yaml push session-keeper webinar-checker
|
case "$service" in
|
||||||
|
session-keeper)
|
||||||
|
context="edu_master/phpsessid-bot"
|
||||||
|
image="${REGISTRY}/forust/session-keeper"
|
||||||
|
;;
|
||||||
|
webinar-checker)
|
||||||
|
context="edu_master/webinar-checker"
|
||||||
|
image="${REGISTRY}/forust/webinar-checker"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
tags=("latest")
|
||||||
|
case "${GITHUB_REF_NAME}" in
|
||||||
|
main)
|
||||||
|
tags+=("main" "prod")
|
||||||
|
;;
|
||||||
|
dev)
|
||||||
|
tags+=("dev")
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
build_args=()
|
||||||
|
for tag in "${tags[@]}"; do
|
||||||
|
build_args+=(-t "${image}:${tag}")
|
||||||
|
done
|
||||||
|
docker build "${build_args[@]}" "$context"
|
||||||
|
for tag in "${tags[@]}"; do
|
||||||
|
docker push "${image}:${tag}"
|
||||||
|
done
|
||||||
|
done
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|||||||
Reference in New Issue
Block a user