From bd1697b5b92357b04c91f47a084c8928299e888b Mon Sep 17 00:00:00 2001 From: u00lipp Date: Wed, 29 Oct 2025 10:50:51 +0100 Subject: [PATCH] feat: add docker image pipeline --- .github/workflows/docker-build.yml | 50 ++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 .github/workflows/docker-build.yml diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml new file mode 100644 index 0000000..64a1b88 --- /dev/null +++ b/.github/workflows/docker-build.yml @@ -0,0 +1,50 @@ +name: Build and Push Docker Image + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + build: + name: Build and Push Docker Image + runs-on: docker + + env: + DOCKER_REGISTRY: git.trai-infra.comstack.de + DOCKER_IMAGE: marian.lippitz/tap-frontend + DOCKER_USERNAME: $DOCKER_USERNAME + DOCKER_PASSWORD: $DOCKER_PASSWORD + + steps: + # Step 1: Checkout the repository + - name: Checkout Code + uses: actions/checkout@v3 + + # Step 2: Validate Conventional Commits + - name: Validate Conventional Commits + run: | + git log -1 --pretty=%B | grep -Eq "^(feat|fix|docs|style|refactor|perf|test|chore|build|ci|revert)(\(.+\))?: .+" + shell: bash + + # Step 3: Extract Variables + - name: Extract Variables + id: vars + run: | + echo "COMMIT_HASH=$(git rev-parse --short HEAD)" >> $GITHUB_ENV + echo "BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD)" >> $GITHUB_ENV + echo "DOCKER_TAG=${BRANCH_NAME}-${COMMIT_HASH}" >> $GITHUB_ENV + + # Step 4: Build the Docker image + - name: Build Docker Image + run: | + docker build -t $DOCKER_REGISTRY/$DOCKER_IMAGE:$DOCKER_TAG . + + # Step 5: Push the Docker image to a registry + - name: Push Docker Image + run: | + echo "$DOCKER_PASSWORD" | docker login $DOCKER_REGISTRY -u "$DOCKER_USERNAME" --password-stdin + docker push $DOCKER_REGISTRY/$DOCKER_IMAGE:$DOCKER_TAG \ No newline at end of file