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: Development CI/CD Pipeline | |
on: | |
push: | |
branches: | |
- development | |
# types: | |
# - closed | |
jobs: | |
build-test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v2 | |
- name: Set up Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "20" | |
- name: Install Dependencies | |
run: npm install | |
- name: Test Next.js App | |
run: npm run test | |
- name: Build Next.js App | |
run: npm run build | |
deploy: | |
runs-on: ubuntu-latest | |
needs: build-test | |
environment: development | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v2 | |
- name: Deploy to Development Environment | |
env: | |
VPS_IP: ${{ secrets.VPS_IP }} | |
VPS_USER: ${{ secrets.VPS_USER }} | |
VPS_KEY: ${{ secrets.VPS_KEY }} | |
run: | | |
echo "$VPS_KEY" > vps_key.pem | |
chmod 600 vps_key.pem | |
ssh -o StrictHostKeyChecking=no -i vps_key.pem $VPS_USER@$VPS_IP " | |
cd /home/hmcroot/app/development/hammercode-web && | |
git restore . && git clean -f && git checkout development && | |
git pull origin development && | |
yarn && | |
yarn build && | |
pm2 restart hammercode-web-dev || PORT=4001 pm2 start npm --name 'hammercode-web-dev' -- start" |