feat: infra ec2 github actions #1
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: mChat Deployment | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install pnpm | |
uses: pnpm/action-setup@v4 | |
with: | |
version: 9.6 | |
- name: Use Node.js 20 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: 'pnpm' | |
- name: Replace pnpm workspace file | |
run: cp pnpm-workspace.prod.yaml pnpm-workspace.yaml | |
- name: Install dependencies | |
run: pnpm i | |
- name: Build packages | |
run: pnpm build | |
- name: Upload build files | |
uses: actions/upload-artifact@v4 | |
with: | |
name: mchat_build | |
path: | | |
server | |
web/dist | |
infra/ec2 | |
deploy: | |
runs-on: self-hosted | |
needs: build | |
steps: | |
- name: Download math result for job 1 | |
uses: actions/download-artifact@v4 | |
with: | |
name: mchat_build | |
- name: Move static files | |
run: mv web/dist /var/www/html | |
- name: Restart application | |
run: pm2 restart mchat | |