add docker and woodpecker
This commit is contained in:
39
.woodpecker.yml
Normal file
39
.woodpecker.yml
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
when:
|
||||||
|
event: push
|
||||||
|
branch: main
|
||||||
|
|
||||||
|
steps:
|
||||||
|
# Шаг 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
|
||||||
@@ -1,5 +1,11 @@
|
|||||||
FROM --platform=linux/amd64 eclipse-temurin:21-jre-alpine
|
# Используем Java 21
|
||||||
|
FROM openjdk:21-jdk-slim
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Копируем собранный JAR (для Gradle путь build/libs/)
|
||||||
COPY build/libs/*.jar app.jar
|
COPY build/libs/*.jar app.jar
|
||||||
|
|
||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
|
|
||||||
ENTRYPOINT ["java", "-jar", "app.jar"]
|
ENTRYPOINT ["java", "-jar", "app.jar"]
|
||||||
Reference in New Issue
Block a user