55 lines
1.7 KiB
YAML
55 lines
1.7 KiB
YAML
name: Build and Push Docker Image
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- 'dockerfile'
|
|
|
|
jobs:
|
|
build-and-push:
|
|
runs-on: runner-1
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v3
|
|
|
|
- name: List files to debug
|
|
run: |
|
|
ls -la
|
|
echo "Current directory: $(pwd)"
|
|
find . -name "*dockerfile*" -o -name "*Dockerfile*"
|
|
|
|
- name: Extract version from Dockerfile
|
|
id: version
|
|
run: |
|
|
# Używamy find, aby zlokalizować plik niezależnie od jego dokładnej nazwy
|
|
DOCKERFILE=$(find . -type f -name "dockerfile" -o -name "Dockerfile" | head -n 1)
|
|
if [ -z "$DOCKERFILE" ]; then
|
|
echo "Error: Dockerfile not found"
|
|
exit 1
|
|
fi
|
|
echo "Found Dockerfile at: $DOCKERFILE"
|
|
VERSION=$(grep -oP 'LABEL version="\K[^"]+' "$DOCKERFILE")
|
|
echo "version=$VERSION" >> $GITEA_OUTPUT
|
|
echo "Extracted version: $VERSION"
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v2
|
|
|
|
- name: Login to Gitea Packages Registry
|
|
uses: docker/login-action@v2
|
|
with:
|
|
registry: ${{ gitea.server_url }}
|
|
username: ${{ gitea.actor }}
|
|
password: ${{ secrets.ACCESS_TOKEN_GITEA }}
|
|
|
|
- name: Build and push Docker image
|
|
uses: docker/build-push-action@v4
|
|
with:
|
|
context: .
|
|
push: true
|
|
tags: |
|
|
${{ gitea.server_url }}/${{ gitea.repository_name }}/${{ gitea.repository_name }}:${{ steps.version.outputs.version }}
|
|
${{ gitea.server_url }}/${{ gitea.repository_name }}/${{ gitea.repository_name }}:latest
|