when: event: push branch: main steps: test: image: alpine:latest commands: - echo "WOODPECKER WORKS!" - echo "Branch $CI_COMMIT_BRANCH" - echo "Event $CI_COMMIT_EVENT" - ls -la # Шаг 1: Сборка Spring Boot приложения через Gradle # build: # image: gradle:8.5-jdk21 # JDK # commands: # - chmod +x ./gradlew # # - ./gradlew clean build -x test # Сборка без тестов # - ./gradlew clean build test # - ls -la build/libs/ # environment: # GRADLE_USER_HOME: /gradle-cache # volumes: # - /tmp/gradle-cache:/gradle-cache:rw # # # Шаг 2: Сборка Docker образа с именем my-spring-app # docker-build: # image: docker:24.0 # commands: # # Собираем образ с именем my-spring-app и тегом из коммита # - docker build -t my-spring-app:$CI_COMMIT_SHA . # # Тэг latest для удобства # - docker tag my-spring-app:$CI_COMMIT_SHA my-spring-app:latest # volumes: # - /var/run/docker.sock:/var/run/docker.sock # # # Шаг 3: Деплой в Minikube # deploy: # image: bitnami/kubectl:latest # commands: # # Обновляем образ в deployment # - kubectl set image deployment/my-spring-app my-spring-app=my-spring-app:$CI_COMMIT_SHA # # Ждем успешного развертывания # - kubectl rollout status deployment/my-spring-app # when: # status: success