Merge pull request #13 from byulhook/feat/travel-crud-11 #20
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |