Skip to content

Add responses for failed menjacnica transfers and update api key for exchange rates #270

Add responses for failed menjacnica transfers and update api key for exchange rates

Add responses for failed menjacnica transfers and update api key for exchange rates #270

Workflow file for this run

name: Deploy backend service to DigitalOcean
on:
push:
branches:
- sprint-1
- sprint-2
- sprint-3
- sprint-4
- sprint-5
- main
pull_request:
types: [opened, synchronize, closed]
jobs:
test:
if: ${{github.event_name == 'pull_request'}}
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v2
with:
ref: ${{secrets.CURRENT_BRANCH}}
- name: Set up JDK 21
uses: actions/setup-java@v2
with:
distribution: 'adopt'
java-version: '21'
- name: Run tests
run: mvn -B clean package -Dcheckstyle.skip=true -DskipTests=false
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
ref: ${{secrets.CURRENT_BRANCH}}
- name: Set up JDK 21
uses: actions/setup-java@v2
with:
distribution: 'adopt'
java-version: '21'
- name: Build with Maven
run: mvn -B clean package -Dcheckstyle.skip=true -DskipTests=true
- name: Build Docker image for user service
run: docker build -t ${{secrets.DOCKER_USERNAME}}/user-service:latest ./user-service
- name: Build Docker image for market service
run: docker build -t ${{secrets.DOCKER_USERNAME}}/market-service:latest ./market-service
- name: Build Docker image for fetching service
run: docker build -t ${{secrets.DOCKER_USERNAME}}/fetching-service:latest ./fetching-service
- name: Log into Docker hub
uses: docker/login-action@v2
with:
username: ${{secrets.DOCKER_USERNAME}}
password: ${{secrets.DOCKER_PASSWORD}}
- name: Push Docker image - user service
run: docker push ${{secrets.DOCKER_USERNAME}}/user-service:latest
- name: Push Docker image - market service
run: docker push ${{secrets.DOCKER_USERNAME}}/market-service:latest
- name: Push Docker image - fetching service
run: docker push ${{secrets.DOCKER_USERNAME}}/fetching-service:latest
- name: SCP Docker Compose and init.sql to PROD
uses: appleboy/scp-action@master
with:
host: ${{secrets.PRODUCTION_HOST_IP}}
port: 22
username: ${{secrets.PRODUCTION_SERVER_USER}}
passphrase: ${{secrets.KEY_PASSPHRASE}}
key: ${{secrets.PRODUCTION_SERVER_SSH}}
source: "./docker.compose.yaml.example.prod,./init.sql.example"
target: "/root/"
debug: true
- name: SSH into PROD
uses: appleboy/ssh-action@master
with:
host: ${{secrets.PRODUCTION_HOST_IP}}
username: ${{secrets.PRODUCTION_SERVER_USER}}
port: 22
key: ${{secrets.PRODUCTION_SERVER_SSH}}
passphrase: ${{secrets.KEY_PASSPHRASE}}
script: |
docker compose -f /root/docker.compose.yaml.example.prod down -v
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
docker rmi $(docker images)
docker compose -f /root/docker.compose.yaml.example.prod up -d
- name: Send notify to Discord
env:
DISCORD_WEBHOOK: ${{secrets.DISCORD_WEBHOOK_URL}}
DISCORD_USERNAME: ${{secrets.DISCORD_BOT_USERNAME}}
DISCORD_AVATAR: ${{secrets.DISCORD_AVATAR_URL}}
uses: Ilshidur/action-discord@master
with:
args: 'Deploy je prosao na grani [${{github.ref}}](https://github.com/RAF-SI-2023/Banka-1-Backend/tree/${{github.ref}})! User service se nalazi [ovde](http://161.35.78.6:8080/user). Market service se nalazi [ovde](http://161.35.78.6:8081/). Fetching service se nalazi [ovde](http://161.35.78.6:8082/)'