From ab0c778651916f9cf2c5892ecca3aa91d11fb347 Mon Sep 17 00:00:00 2001 From: Damir Mukimov Date: Fri, 26 Dec 2025 13:01:29 +0100 Subject: [PATCH] Refactor CI workflow to utilize Docker Buildx for building and pushing images - Replace Kaniko commands with Docker Buildx for frontend and backend builds - Implement Docker login and setup steps for improved authentication - Enhance caching strategy by specifying cache-from and cache-to options - Streamline Dockerfile and context paths for clarity and maintainability --- .gitea/workflows/ci.yml | 70 ++++++++++++++++++++++------------------- 1 file changed, 38 insertions(+), 32 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index c6d88bc..e3ddcce 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -42,22 +42,25 @@ jobs: if: gitea.event_name == 'push' && gitea.ref == 'refs/heads/master' steps: - uses: actions/checkout@v4 - - name: Build and push frontend with Kaniko - run: | - mkdir -p /tmp/kaniko-docker - echo "{\"auths\":{\"registry.bk.glpx.pro\":{\"username\":\"${{ secrets.DOCKER_USERNAME }}\",\"password\":\"${{ secrets.DOCKER_PASSWORD }}\"}}}" > /tmp/kaniko-docker/config.json - docker run --rm \ - -v $(pwd):/workspace \ - -v /tmp/kaniko-docker:/kaniko/.docker \ - -e DOCKER_CONFIG=/kaniko/.docker \ - gcr.io/kaniko-project/executor:v1.24.0 \ - --dockerfile=/workspace/bugulma/frontend/Dockerfile \ - --context=/workspace/bugulma/frontend \ - --destination=registry.bk.glpx.pro/turash/turash-frontend:latest \ - --destination=registry.bk.glpx.pro/turash/turash-frontend:${{ gitea.sha }} \ - --cache=true \ - --cache-ttl=168h \ - --compressed-caching=false + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Log in to registry + uses: docker/login-action@v3 + with: + registry: registry.bk.glpx.pro + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - name: Build and push frontend + uses: docker/build-push-action@v5 + with: + context: bugulma/frontend + file: bugulma/frontend/Dockerfile + push: true + tags: | + registry.bk.glpx.pro/turash/turash-frontend:latest + registry.bk.glpx.pro/turash/turash-frontend:${{ gitea.sha }} + cache-from: type=registry,ref=registry.bk.glpx.pro/turash/turash-frontend:buildcache + cache-to: type=registry,ref=registry.bk.glpx.pro/turash/turash-frontend:buildcache,mode=max backend-lint: runs-on: ubuntu-latest @@ -108,22 +111,25 @@ jobs: if: gitea.event_name == 'push' && gitea.ref == 'refs/heads/master' steps: - uses: actions/checkout@v4 - - name: Build and push backend with Kaniko - run: | - mkdir -p /tmp/kaniko-docker - echo "{\"auths\":{\"registry.bk.glpx.pro\":{\"username\":\"${{ secrets.DOCKER_USERNAME }}\",\"password\":\"${{ secrets.DOCKER_PASSWORD }}\"}}}" > /tmp/kaniko-docker/config.json - docker run --rm \ - -v $(pwd):/workspace \ - -v /tmp/kaniko-docker:/kaniko/.docker \ - -e DOCKER_CONFIG=/kaniko/.docker \ - gcr.io/kaniko-project/executor:v1.24.0 \ - --dockerfile=/workspace/bugulma/backend/Dockerfile \ - --context=/workspace/bugulma/backend \ - --destination=registry.bk.glpx.pro/turash/turash-backend:latest \ - --destination=registry.bk.glpx.pro/turash/turash-backend:${{ gitea.sha }} \ - --cache=true \ - --cache-ttl=168h \ - --compressed-caching=false + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Log in to registry + uses: docker/login-action@v3 + with: + registry: registry.bk.glpx.pro + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - name: Build and push backend + uses: docker/build-push-action@v5 + with: + context: bugulma/backend + file: bugulma/backend/Dockerfile + push: true + tags: | + registry.bk.glpx.pro/turash/turash-backend:latest + registry.bk.glpx.pro/turash/turash-backend:${{ gitea.sha }} + cache-from: type=registry,ref=registry.bk.glpx.pro/turash/turash-backend:buildcache + cache-to: type=registry,ref=registry.bk.glpx.pro/turash/turash-backend:buildcache,mode=max e2e-test: runs-on: ubuntu-latest