From b5f78e65ca5337c1dd2a9b68e4e1854493b638eb Mon Sep 17 00:00:00 2001 From: hllvc Date: Sat, 10 Jul 2021 21:51:31 +0200 Subject: [PATCH] Jenkins setup --- .github/workflows/docker-image.yml | 25 ------------------------- Dockerfile | 16 ---------------- Dockerfile.build | 10 ++++++++++ Dockerfile.run | 6 ++++++ Jenkinsfile | 26 ++++++++++++++++++++++++++ 5 files changed, 42 insertions(+), 41 deletions(-) delete mode 100644 .github/workflows/docker-image.yml delete mode 100644 Dockerfile create mode 100644 Dockerfile.build create mode 100644 Dockerfile.run create mode 100644 Jenkinsfile diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml deleted file mode 100644 index 42c60b8b5..000000000 --- a/.github/workflows/docker-image.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Docker Image CI - -on: - push: - branches: [ develop ] - pull_request: - branches: [ develop ] - -jobs: - - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - name: Build the Docker image - run: docker build -t hllvc/spring-petclinic . - - name: Login to Docker Hub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - name: Push image to Docker Hub - run: docker push hllvc/spring-petclinic:latest diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 583bfb977..000000000 --- a/Dockerfile +++ /dev/null @@ -1,16 +0,0 @@ -FROM openjdk:8-jdk-alpine AS build -WORKDIR /build -COPY .mvn .mvn -COPY mvnw . -COPY mvnw.cmd . -COPY pom.xml . -RUN ./mvnw -B -e dependency:go-offline -COPY src src -RUN ./mvnw package - -FROM openjdk:8-jre-alpine -EXPOSE 8080 -ENTRYPOINT [ "java" ] -CMD [ "-jar", "-Dspring.profiles.active=mysql" ,"app.jar" ] -COPY --from=build /build/target/*.jar /app/app.jar -WORKDIR /app diff --git a/Dockerfile.build b/Dockerfile.build new file mode 100644 index 000000000..f6dbe5b55 --- /dev/null +++ b/Dockerfile.build @@ -0,0 +1,10 @@ +FROM openjdk:8-jdk-alpine +VOLUME [ "/app" ] +WORKDIR /app +COPY .mvn .mvn +COPY mvnw . +COPY mvnw.cmd . +COPY pom.xml . +RUN ./mvnw -B -e dependency:go-offline +COPY src src +RUN ./mvnw package diff --git a/Dockerfile.run b/Dockerfile.run new file mode 100644 index 000000000..0823227db --- /dev/null +++ b/Dockerfile.run @@ -0,0 +1,6 @@ +FROM openjdk:8-jre-alpine +VOLUME [ "/app" ] +WORKDIR /app +EXPOSE 8080 +ENTRYPOINT [ "java" ] +CMD [ "-jar", "-Dspring.profiles.active=mysql" ,"app.jar" ] diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 000000000..fc067e37b --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,26 @@ +pipeline { + stages { + + stage('Build') { + agent { + dockerfile { + filename 'Dockerfile.build' + dir '.' + label 'petclinic-build' + args '-v $HOME/.m2:/root/.m2 -v ./app:/root/app' + } + } + } + + stage('Run') { + agent { + dockerfile { + filename 'Dockerfile.run' + label 'petclinic-run' + args '-v $HOME/.m2:/root/.m2 -v ./app:/root/app' + } + } + } + + } +}