|
|
@@ -8,20 +8,25 @@ on:
|
|
|
branches: [ main ]
|
|
|
|
|
|
jobs:
|
|
|
-
|
|
|
- build:
|
|
|
-
|
|
|
+ build-and-test:
|
|
|
+ name: Build and Test
|
|
|
runs-on: ubuntu-latest
|
|
|
-
|
|
|
steps:
|
|
|
- uses: actions/checkout@v3
|
|
|
- name: Set up JDK
|
|
|
uses: actions/setup-java@v3
|
|
|
with:
|
|
|
- java-version: '17' # or the version you use
|
|
|
- distribution: 'temurin' # or another distribution
|
|
|
+ java-version: '17'
|
|
|
+ distribution: 'temurin'
|
|
|
- name: Build with Maven
|
|
|
run: chmod +x ./mvnw && ./mvnw clean package test
|
|
|
+
|
|
|
+ dockerize:
|
|
|
+ name: Dockerize Application
|
|
|
+ needs: build-and-test
|
|
|
+ runs-on: ubuntu-latest
|
|
|
+ steps:
|
|
|
+ - uses: actions/checkout@v3
|
|
|
- name: Build the Docker image
|
|
|
run: ./mvnw spring-boot:build-image
|
|
|
- name: Login to Docker Hub
|
|
|
@@ -31,6 +36,12 @@ jobs:
|
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
- name: Push image
|
|
|
run: docker push lhamacorp/stocks-be
|
|
|
+
|
|
|
+ deploy:
|
|
|
+ name: Deploy to Server
|
|
|
+ needs: dockerize
|
|
|
+ runs-on: ubuntu-latest
|
|
|
+ steps:
|
|
|
- name: Deploy to Server
|
|
|
uses: appleboy/ssh-action@master
|
|
|
with:
|
|
|
@@ -41,4 +52,4 @@ jobs:
|
|
|
docker pull lhamacorp/stocks-be:latest
|
|
|
docker stop stocks-be || true
|
|
|
docker rm stocks-be || true
|
|
|
- docker run -d --name stocks-be -p 42902:8080 -e mongo=${{ secrets.MONGO }} -e database=${{ secrets.DATABASE }} -e provider=${{ secrets.PROVIDER_URL }} -e key=${{ secrets.PROVIDER_KEY }} lhamacorp/stocks-be:latest
|
|
|
+ docker run -d --name stocks-be -p 42902:8080 -e mongo=${{ secrets.MONGO }} -e database=${{ secrets.DATABASE }} -e provider=${{ secrets.PROVIDER_URL }} -e key=${{ secrets.PROVIDER_KEY }} lhamacorp/stocks-be:latest
|