|
|
@@ -10,7 +10,7 @@ on:
|
|
|
jobs:
|
|
|
build-and-test:
|
|
|
name: Build and Test
|
|
|
- runs-on: ubuntu-latest
|
|
|
+ runs-on: self-hosted
|
|
|
steps:
|
|
|
- uses: actions/checkout@v3
|
|
|
- name: Cache Maven packages
|
|
|
@@ -30,7 +30,7 @@ jobs:
|
|
|
dockerize:
|
|
|
name: Dockerize Application
|
|
|
needs: build-and-test
|
|
|
- runs-on: ubuntu-latest
|
|
|
+ runs-on: self-hosted
|
|
|
steps:
|
|
|
- uses: actions/checkout@v3
|
|
|
- name: Set up Docker Buildx
|
|
|
@@ -59,7 +59,7 @@ jobs:
|
|
|
deploy:
|
|
|
name: Deploy to Server
|
|
|
needs: dockerize
|
|
|
- runs-on: ubuntu-latest
|
|
|
+ runs-on: self-hosted
|
|
|
steps:
|
|
|
- name: Deploy to Server
|
|
|
uses: appleboy/ssh-action@master
|
|
|
@@ -72,3 +72,17 @@ jobs:
|
|
|
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
|
|
|
+
|
|
|
+ cleanup:
|
|
|
+ name: Clean ups
|
|
|
+ needs: deploy
|
|
|
+ runs-on: self-hosted
|
|
|
+ steps:
|
|
|
+ - name: Clean up Server
|
|
|
+ uses: appleboy/ssh-action@master
|
|
|
+ with:
|
|
|
+ host: ${{ secrets.SERVER_IP }}
|
|
|
+ username: ${{ secrets.SERVER_USER }}
|
|
|
+ key: ${{ secrets.SSH_PRIVATE_KEY }}
|
|
|
+ script: |
|
|
|
+ docker image prune -a -f
|