Skip to content

Update deploy.yml

Update deploy.yml #9

Workflow file for this run

name: Deploy Server
on:
push:
branches:
- feautre/be/#115-CICD
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Create env file
run: |
echo DB_ENDPOINT=${{ secrets.DB_ENDPOINT }} >> .env
echo DB_NAME=${{ secrets.DB_NAME }} >> .env
echo MYSQL_USERNAME=${{ secrets.MYSQL_USERNAME }} >> .env
echo MYSQL_PASSWORD=${{ secrets.MYSQL_PASSWORD }} >> .env
echo JWT_SECRET=${{ secrets.JWT_SECRET }} >> .env
echo JWT_ACCESS_EXPIRATION_TIME=${{ secrets.JWT_ACCESS_EXPIRATION_TIME }} >> .env
echo JWT_REFRESH_EXPIRATION_TIME=${{ secrets.JWT_REFRESH_EXPIRATION_TIME }} >> .env
echo HMAC_SECRET=${{ secrets.HMAC_SECRET }} >> .env
echo HMAC_ALGORITHM=${{ secrets.HMAC_ALGORITHM }} >> .env
echo DeepL_API_KEY=${{ secrets.DeepL_API_KEY }} >> .env
echo TEST_KEY=${{ secrets.TEST_KEY }} >> .env
echo Azure_API_KEY=${{ secrets.Azure_API_KEY }} >> .env
echo REDIS_HOST=${{ secrets.REDIS_HOST }} >> .env
echo REDIS_PORT=${{ secrets.REDIS_PORT }} >> .env
echo S3_ACCESS_KEY=${{ secrets.S3_ACCESS_KEY }} >> .env
echo S3_SECRET_KEY=${{ secrets.S3_SECRET_KEY }} >> .env
- name: Copy docker-compose.yaml to EC2
uses: appleboy/scp-action@master
with:
host: ${{ secrets.AWS_HOST }}
username: ubuntu
key: ${{ secrets.AWS_KEY }}
fingerprint: ${{ secrets.AWS_FINGERPRINT }}
source: "/github/workspace/back/docker-compose.yml"
target: "/home/ubuntu/capstone"
- name: Copy .env to EC2
uses: appleboy/scp-action@master
with:
host: ${{ secrets.AWS_HOST }}
username: ubuntu
key: ${{ secrets.AWS_KEY }}
fingerprint: ${{ secrets.AWS_FINGERPRINT }}
source: "/github/workspace/.env"
target: "/home/ubuntu/capstone"
- name: executing remote ssh commands using password
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.AWS_HOST }}
username: ubuntu
key: ${{ secrets.AWS_KEY }}
script: |
if [ "$(sudo docker ps -qa)" ]; then
sudo docker rm -f $(sudo docker ps -qa)
fi
sudo docker pull ${{ secrets.DOCKER_REPO }}/spring:latest
sudo docker pull ${{ secrets.DOCKER_REPO }}/nginx:latest
sudo docker pull ${{ secrets.DOCKER_REPO }}/ruby:latest
sudo docker-compose -f capstone/docker-compose.yml up -d
sudo docker image prune -f