Skip to content

Merge pull request #59 from Incredible-Technologies/doctor-appointment #64

Merge pull request #59 from Incredible-Technologies/doctor-appointment

Merge pull request #59 from Incredible-Technologies/doctor-appointment #64

Workflow file for this run

name: Deploy to AWS CI/CD with Docker
on:
push:
branches:
#- Angular-auth-implementation
- main
jobs:
build_and_push_spring:
runs-on: ubuntu-latest
defaults:
run:
working-directory: backend
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Build and push Spring Boot Docker image
run: |
docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
docker build -t ${{ secrets.DOCKER_USERNAME }}/lichny-kabinet-patsienta-backend:latest .
docker push ${{ secrets.DOCKER_USERNAME }}/lichny-kabinet-patsienta-backend:latest
build_and_push_angular:
runs-on: ubuntu-latest
defaults:
run:
working-directory: client
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Build and push Angular Universal Docker image
run: |
docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
docker build -t ${{ secrets.DOCKER_USERNAME }}/lichny-kabinet-patsienta-client:latest .
docker push ${{ secrets.DOCKER_USERNAME }}/lichny-kabinet-patsienta-client:latest
deploy_spring:
needs: build_and_push_spring
runs-on: [self-hosted, spring-aws-ec2]
env:
SPRING_APP_IMAGE: ${{ secrets.DOCKER_USERNAME }}/lichny-kabinet-patsienta-backend:latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Docker login
run: |
echo ${{ secrets.DOCKER_PASSWORD }} | sudo docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin
- name: Deploy Spring Boot application
run: |
cd backend
echo "SPRING_APP_IMAGE=${SPRING_APP_IMAGE}" > .env
sudo docker-compose down
sudo docker-compose up -d
deploy_angular:
needs: build_and_push_angular
runs-on: [self-hosted, aws-ec2]
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Deploy Angular Universal application
run: |
cd client
docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
docker pull ${{ secrets.DOCKER_USERNAME }}/lichny-kabinet-patsienta-client:latest
docker stop lichny-kabinet-patsienta-client || true
docker rm lichny-kabinet-patsienta-client || true
docker run -d --restart unless-stopped --name lichny-kabinet-patsienta-client -p 80:4000 ${{ secrets.DOCKER_USERNAME }}/lichny-kabinet-patsienta-client:latest