Skip to content

Merge pull request #13 from byulhook/feat/travel-crud-11 #20

Merge pull request #13 from byulhook/feat/travel-crud-11

Merge pull request #13 from byulhook/feat/travel-crud-11 #20

Workflow file for this run

name: server CI/CD on EC2
on:
push:
branches: [ main ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Check out the code
run: |
bun install
bun run type-check
bun run lint
- name: Build the code
run: bun run build
- name: Create .env file
run: |
echo "MONGO_URI=${{ secrets.MONGO_URI }}" > .env
echo "AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }}" >> .env
echo "AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }}" >> .env
echo "AWS_REGION=${{ secrets.AWS_REGION }}" >> .env
echo "AWS_BUCKET_NAME=${{ secrets.AWS_BUCKET_NAME }}" >> .env
echo "CLOUDFRONT_URL=${{ secrets.CLOUDFRONT_URL }}" >> .env
- name: move files
run: |
mv .env dist/
mv ecosystem.config.js dist/
mv package.json dist/
- name: Deploy to AWS EC2
uses: appleboy/scp-action@master
with:
host: ${{ secrets.REMOTE_HOST }}
username: ${{ secrets.REMOTE_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
source: "dist/**"
target: "/var/www/travely"
strip_components: 1
- name: Setup environment and start PM2
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.REMOTE_HOST }}
username: ${{ secrets.REMOTE_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
cd /var/www/travely
bun install --production
pm2 reload ecosystem.config.js --env production