Multi Job Pipeline

This commit is contained in:
Pranjal Kumar 2025-06-16 19:06:13 +05:30
parent 94c1e6084f
commit d046b63928

62
.github/workflows/multi-job.yaml vendored Normal file
View file

@ -0,0 +1,62 @@
name: Multi-Job CI/CD Pipeline
on: [push, pull_request]
jobs:
test:
name: Run Tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Java 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
- name: Make Gradle executable
run: chmod +x ./gradlew
- name: Run Tests
run: ./gradlew test
build:
name: Build App
runs-on: ubuntu-latest
needs: test
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Java 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
- name: Make Gradle executable
run: chmod +x ./gradlew
- name: Build App
run: ./gradlew build
docker_push:
name: Push to Docker Hub
runs-on: ubuntu-latest
needs: build
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Docker Hub Login
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and Push Docker Image
run: |
docker build -t ${{ secrets.DOCKER_USERNAME }}/spring-petclinic:latest .
docker push ${{ secrets.DOCKER_USERNAME }}/spring-petclinic:latest