49 lines
1.4 KiB
YAML
49 lines
1.4 KiB
YAML
name: Docker-Image bauen
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
REGISTRY: git.servercentral.org
|
|
IMAGE: git.servercentral.org/jonas/hardtschule-karlsruhe.de
|
|
|
|
jobs:
|
|
build-and-push:
|
|
name: Image bauen und veröffentlichen
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: read
|
|
|
|
steps:
|
|
- name: Repository auschecken
|
|
uses: actions/checkout@v4
|
|
|
|
- name: An der Container-Registry anmelden
|
|
env:
|
|
REGISTRY_USERNAME: ${{ secrets.REGISTRY_USERNAME }}
|
|
REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }}
|
|
run: |
|
|
test -n "$REGISTRY_USERNAME" || (echo "Secret REGISTRY_USERNAME fehlt" && exit 1)
|
|
test -n "$REGISTRY_TOKEN" || (echo "Secret REGISTRY_TOKEN fehlt" && exit 1)
|
|
printf '%s' "$REGISTRY_TOKEN" | docker login "$REGISTRY" --username "$REGISTRY_USERNAME" --password-stdin
|
|
|
|
- name: Docker-Image bauen
|
|
run: |
|
|
docker build --pull \
|
|
--label "org.opencontainers.image.revision=${{ gitea.sha }}" \
|
|
--tag "$IMAGE:latest" \
|
|
--tag "$IMAGE:${{ gitea.sha }}" \
|
|
.
|
|
|
|
- name: Docker-Image veröffentlichen
|
|
run: |
|
|
docker push "$IMAGE:latest"
|
|
docker push "$IMAGE:${{ gitea.sha }}"
|
|
|
|
- name: Von der Container-Registry abmelden
|
|
if: ${{ always() }}
|
|
run: docker logout "$REGISTRY"
|