This commit is contained in:
parent
629ff78af8
commit
e91cde3f56
@ -8,10 +8,9 @@ on:
|
||||
branches: ["main", "master"]
|
||||
|
||||
env:
|
||||
REGISTRY: ${REGISTRY:-registry.local} # Override via repository/organization secret or .env in runner
|
||||
IMAGE_NAMESPACE: ${IMAGE_NAMESPACE:-youruser} # Your Gitea username/org
|
||||
BACKEND_IMAGE: imap-client-backend
|
||||
FRONTEND_IMAGE: imap-client-frontend
|
||||
# Uses local Gitea registry: <gitea-host>/<namespace>/<image>:tag
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@ -33,27 +32,39 @@ jobs:
|
||||
echo "version_tag=$VERSION_TAG" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
- name: Login to registry
|
||||
- name: Derive registry host / namespace
|
||||
id: reg
|
||||
run: |
|
||||
echo "${{ secrets.CR_PASSWORD }}" | docker login "${REGISTRY}" -u "${{ secrets.CR_USERNAME }}" --password-stdin
|
||||
REGISTRY_HOST="${GITEA_SERVER_URL}"
|
||||
REGISTRY_HOST="${REGISTRY_HOST#https://}"
|
||||
REGISTRY_HOST="${REGISTRY_HOST#http://}"
|
||||
REGISTRY_HOST="${REGISTRY_HOST%%/*}"
|
||||
NAMESPACE="${GITHUB_REPOSITORY%/*}"
|
||||
echo "host=$REGISTRY_HOST" >> $GITHUB_OUTPUT
|
||||
echo "ns=$NAMESPACE" >> $GITHUB_OUTPUT
|
||||
echo "Using registry: $REGISTRY_HOST namespace: $NAMESPACE"
|
||||
|
||||
- name: Login to local Gitea registry
|
||||
run: |
|
||||
echo "${{ secrets.CR_PASSWORD }}" | docker login "${{ steps.reg.outputs.host }}" -u "${{ secrets.CR_USERNAME }}" --password-stdin
|
||||
|
||||
- name: Build backend
|
||||
run: |
|
||||
docker build -t ${REGISTRY}/${IMAGE_NAMESPACE}/${BACKEND_IMAGE}:${{ steps.meta.outputs.sha_tag }} ./backend
|
||||
if [ -n "${{ steps.meta.outputs.latest_tag }}" ]; then docker tag ${REGISTRY}/${IMAGE_NAMESPACE}/${BACKEND_IMAGE}:${{ steps.meta.outputs.sha_tag }} ${REGISTRY}/${IMAGE_NAMESPACE}/${BACKEND_IMAGE}:latest; fi
|
||||
if [ -n "${{ steps.meta.outputs.version_tag }}" ]; then docker tag ${REGISTRY}/${IMAGE_NAMESPACE}/${BACKEND_IMAGE}:${{ steps.meta.outputs.sha_tag }} ${REGISTRY}/${IMAGE_NAMESPACE}/${BACKEND_IMAGE}:${{ steps.meta.outputs.version_tag }}; fi
|
||||
docker build -t ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${BACKEND_IMAGE}:${{ steps.meta.outputs.sha_tag }} ./backend
|
||||
if [ -n "${{ steps.meta.outputs.latest_tag }}" ]; then docker tag ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${BACKEND_IMAGE}:${{ steps.meta.outputs.sha_tag }} ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${BACKEND_IMAGE}:latest; fi
|
||||
if [ -n "${{ steps.meta.outputs.version_tag }}" ]; then docker tag ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${BACKEND_IMAGE}:${{ steps.meta.outputs.sha_tag }} ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${BACKEND_IMAGE}:${{ steps.meta.outputs.version_tag }}; fi
|
||||
|
||||
- name: Build frontend
|
||||
run: |
|
||||
docker build -t ${REGISTRY}/${IMAGE_NAMESPACE}/${FRONTEND_IMAGE}:${{ steps.meta.outputs.sha_tag }} ./frontend
|
||||
if [ -n "${{ steps.meta.outputs.latest_tag }}" ]; then docker tag ${REGISTRY}/${IMAGE_NAMESPACE}/${FRONTEND_IMAGE}:${{ steps.meta.outputs.sha_tag }} ${REGISTRY}/${IMAGE_NAMESPACE}/${FRONTEND_IMAGE}:latest; fi
|
||||
if [ -n "${{ steps.meta.outputs.version_tag }}" ]; then docker tag ${REGISTRY}/${IMAGE_NAMESPACE}/${FRONTEND_IMAGE}:${{ steps.meta.outputs.sha_tag }} ${REGISTRY}/${IMAGE_NAMESPACE}/${FRONTEND_IMAGE}:${{ steps.meta.outputs.version_tag }}; fi
|
||||
docker build -t ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${FRONTEND_IMAGE}:${{ steps.meta.outputs.sha_tag }} ./frontend
|
||||
if [ -n "${{ steps.meta.outputs.latest_tag }}" ]; then docker tag ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${FRONTEND_IMAGE}:${{ steps.meta.outputs.sha_tag }} ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${FRONTEND_IMAGE}:latest; fi
|
||||
if [ -n "${{ steps.meta.outputs.version_tag }}" ]; then docker tag ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${FRONTEND_IMAGE}:${{ steps.meta.outputs.sha_tag }} ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${FRONTEND_IMAGE}:${{ steps.meta.outputs.version_tag }}; fi
|
||||
|
||||
- name: Push images
|
||||
if: github.event_name != 'pull_request'
|
||||
run: |
|
||||
for IMG in ${BACKEND_IMAGE} ${FRONTEND_IMAGE}; do
|
||||
docker push ${REGISTRY}/${IMAGE_NAMESPACE}/${IMG}:${{ steps.meta.outputs.sha_tag }}
|
||||
if [ -n "${{ steps.meta.outputs.latest_tag }}" ]; then docker push ${REGISTRY}/${IMAGE_NAMESPACE}/${IMG}:latest; fi
|
||||
if [ -n "${{ steps.meta.outputs.version_tag }}" ]; then docker push ${REGISTRY}/${IMAGE_NAMESPACE}/${IMG}:${{ steps.meta.outputs.version_tag }}; fi
|
||||
docker push ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${IMG}:${{ steps.meta.outputs.sha_tag }}
|
||||
if [ -n "${{ steps.meta.outputs.latest_tag }}" ]; then docker push ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${IMG}:latest; fi
|
||||
if [ -n "${{ steps.meta.outputs.version_tag }}" ]; then docker push ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${IMG}:${{ steps.meta.outputs.version_tag }}; fi
|
||||
done
|
||||
|
Loading…
x
Reference in New Issue
Block a user