refactor again
This commit is contained in:
parent
d327b1649c
commit
7abfc2578d
1 changed files with 20 additions and 45 deletions
|
|
@ -17,55 +17,30 @@ jobs:
|
|||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set image name and tags
|
||||
id: meta
|
||||
- name: Login to Gitea Container Registry (internal)
|
||||
run: |
|
||||
REPO_OWNER="${{ gitea.repository_owner }}"
|
||||
REPO_NAME="lcc"
|
||||
BRANCH_NAME="${{ gitea.ref_name }}"
|
||||
SHA_SHORT="${{ gitea.sha }}"
|
||||
SHA_SHORT=${SHA_SHORT:0:7}
|
||||
|
||||
IMAGE_BASE="git.avatic.de/${REPO_OWNER}/${REPO_NAME}"
|
||||
|
||||
# Basis-Tags
|
||||
TAGS="${IMAGE_BASE}:${BRANCH_NAME}"
|
||||
TAGS="${TAGS},${IMAGE_BASE}:${BRANCH_NAME}-${SHA_SHORT}"
|
||||
|
||||
# Latest tag nur für main branch
|
||||
if [ "${{ gitea.ref_name }}" = "main" ]; then
|
||||
TAGS="${TAGS},${IMAGE_BASE}:latest"
|
||||
fi
|
||||
|
||||
echo "tags=${TAGS}" >> $GITHUB_OUTPUT
|
||||
echo "image_base=${IMAGE_BASE}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Login to Gitea Container Registry
|
||||
run: |
|
||||
echo "${{ secrets.REGISTRY_TOKEN }}" | docker login git.avatic.de -u "${{ gitea.actor }}" --password-stdin
|
||||
echo "${{ secrets.REGISTRY_TOKEN }}" | docker login server:3000 -u "${{ gitea.actor }}" --password-stdin
|
||||
|
||||
- name: Build Docker image
|
||||
run: |
|
||||
IFS=',' read -ra TAG_ARRAY <<< "${{ steps.meta.outputs.tags }}"
|
||||
|
||||
# Build mit dem ersten Tag
|
||||
docker build -t "${TAG_ARRAY[0]}" .
|
||||
|
||||
# Füge weitere Tags hinzu
|
||||
for tag in "${TAG_ARRAY[@]:1}"; do
|
||||
docker tag "${TAG_ARRAY[0]}" "$tag"
|
||||
done
|
||||
docker build -t server:3000/${{ gitea.repository_owner }}/lcc:${{ gitea.sha }} .
|
||||
docker tag server:3000/${{ gitea.repository_owner }}/lcc:${{ gitea.sha }} server:3000/${{ gitea.repository_owner }}/lcc:latest
|
||||
|
||||
- name: Push Docker images
|
||||
- name: Push to internal registry
|
||||
run: |
|
||||
IFS=',' read -ra TAG_ARRAY <<< "${{ steps.meta.outputs.tags }}"
|
||||
|
||||
# Push alle Tags
|
||||
for tag in "${TAG_ARRAY[@]}"; do
|
||||
echo "Pushing $tag"
|
||||
docker push "$tag"
|
||||
done
|
||||
docker push server:3000/${{ gitea.repository_owner }}/lcc:${{ gitea.sha }}
|
||||
docker push server:3000/${{ gitea.repository_owner }}/lcc:latest
|
||||
|
||||
- name: Logout from registry
|
||||
if: always()
|
||||
run: docker logout git.avatic.de
|
||||
- name: Tag for external registry
|
||||
run: |
|
||||
docker tag server:3000/${{ gitea.repository_owner }}/lcc:latest git.avatic.de/${{ gitea.repository_owner }}/lcc:latest
|
||||
docker tag server:3000/${{ gitea.repository_owner }}/lcc:${{ gitea.sha }} git.avatic.de/${{ gitea.repository_owner }}/lcc:${{ gitea.sha }}
|
||||
|
||||
- name: Login to external registry
|
||||
run: |
|
||||
echo "${{ secrets.REGISTRY_TOKEN }}" | docker login git.avatic.de -u "${{ gitea.actor }}" --password-stdin
|
||||
|
||||
- name: Push to external registry
|
||||
run: |
|
||||
docker push git.avatic.de/${{ gitea.repository_owner }}/lcc:latest
|
||||
docker push git.avatic.de/${{ gitea.repository_owner }}/lcc:${{ gitea.sha }}
|
||||
Loading…
Add table
Reference in a new issue