mirror of
https://github.com/spring-projects/spring-petclinic.git
synced 2025-07-16 12:55:50 +00:00
Merge 5fb1726b54
into 30aab0ae76
This commit is contained in:
commit
9203eda07b
7 changed files with 80 additions and 93 deletions
2
.github/dco.yml
vendored
2
.github/dco.yml
vendored
|
@ -1,2 +0,0 @@
|
|||
require:
|
||||
members: false
|
33
.github/workflows/ci-cd.yml
vendored
Normal file
33
.github/workflows/ci-cd.yml
vendored
Normal file
|
@ -0,0 +1,33 @@
|
|||
name: CI/CD - Docker Build & Push
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main # or change to your main branch name
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
build-and-push:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Log in to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: vinayasuresh
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
|
||||
- name: Build and push Docker image
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
tags: vinayasuresh/spring-petclinic:latest
|
31
.github/workflows/deploy-and-test-cluster.yml
vendored
31
.github/workflows/deploy-and-test-cluster.yml
vendored
|
@ -1,31 +0,0 @@
|
|||
name: Deploy and Test Cluster
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
paths:
|
||||
- 'k8s/**'
|
||||
pull_request:
|
||||
branches: [main]
|
||||
paths:
|
||||
- 'k8s/**'
|
||||
|
||||
jobs:
|
||||
deploy-and-test-cluster:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out the repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Create k8s Kind Cluster
|
||||
uses: helm/kind-action@v1
|
||||
|
||||
- name: Deploy application
|
||||
run: |
|
||||
kubectl apply -f k8s/
|
||||
|
||||
- name: Wait for Pods to be ready
|
||||
run: |
|
||||
kubectl wait --for=condition=ready pod -l app=demo-db --timeout=180s
|
||||
kubectl wait --for=condition=ready pod -l app=petclinic --timeout=180s
|
||||
|
31
.github/workflows/gradle-build.yml
vendored
31
.github/workflows/gradle-build.yml
vendored
|
@ -1,31 +0,0 @@
|
|||
# This workflow will build a Java project with Gradle, and cache/restore any dependencies to improve the workflow execution time
|
||||
# For more information see: https://docs.github.com/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-java-with-gradle
|
||||
|
||||
name: Java CI with Gradle
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
java: [ '17' ]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Set up JDK ${{matrix.java}}
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: ${{matrix.java}}
|
||||
distribution: 'adopt'
|
||||
cache: maven
|
||||
- name: Setup Gradle
|
||||
uses: gradle/actions/setup-gradle@v4
|
||||
- name: Build with Gradle
|
||||
run: ./gradlew build
|
29
.github/workflows/maven-build.yml
vendored
29
.github/workflows/maven-build.yml
vendored
|
@ -1,29 +0,0 @@
|
|||
# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
|
||||
# For more information see: https://docs.github.com/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-java-with-maven
|
||||
|
||||
name: Java CI with Maven
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
java: [ '17' ]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Set up JDK ${{matrix.java}}
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: ${{matrix.java}}
|
||||
distribution: 'adopt'
|
||||
cache: maven
|
||||
- name: Build with Maven Wrapper
|
||||
run: ./mvnw -B verify
|
4
Dockerfile
Normal file
4
Dockerfile
Normal file
|
@ -0,0 +1,4 @@
|
|||
FROM anapsix/alpine-java
|
||||
LABEL maintainer="shanem@liatrio.com"
|
||||
COPY /target/spring-petclinic-1.5.1.jar /home/spring-petclinic-1.5.1.jar
|
||||
CMD ["java","-jar","/home/spring-petclinic-1.5.1.jar"]
|
43
Jenkinsfile
vendored
Normal file
43
Jenkinsfile
vendored
Normal file
|
@ -0,0 +1,43 @@
|
|||
pipeline {
|
||||
agent {
|
||||
docker {
|
||||
image 'maven:3.9.6-eclipse-temurin-17'
|
||||
}
|
||||
}
|
||||
|
||||
environment {
|
||||
IMAGE_NAME = "local-app:latest"
|
||||
CONTAINER_NAME = "local-app-container"
|
||||
}
|
||||
|
||||
stages {
|
||||
stage('Build App') {
|
||||
steps {
|
||||
sh 'mvn clean package -DskipTests'
|
||||
}
|
||||
}
|
||||
|
||||
stage('Build Docker Image') {
|
||||
steps {
|
||||
sh 'docker build -t $IMAGE_NAME .'
|
||||
}
|
||||
}
|
||||
|
||||
stage('Stop Existing Container') {
|
||||
steps {
|
||||
sh '''
|
||||
docker stop $CONTAINER_NAME || true
|
||||
docker rm $CONTAINER_NAME || true
|
||||
'''
|
||||
}
|
||||
}
|
||||
|
||||
stage('Run Docker Container') {
|
||||
steps {
|
||||
sh '''
|
||||
docker run -d --name $CONTAINER_NAME -p 8080:8080 $IMAGE_NAME
|
||||
'''
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue