new update test #26
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
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node | |
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs | |
name: QUIZ APP Node.js CI deploy EC2 | |
on: | |
push: | |
branches: [ "main" ] | |
# pull_request: | |
# branches: [ "main" ] | |
jobs: | |
build: | |
runs-on: self-hosted | |
strategy: | |
matrix: | |
node-version: [ 20.x] | |
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/ | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: 'npm' | |
- run: | | |
npm ci | |
echo "${{ secrets.PROD_ENV_FILE }}" > .env | |
pm2 stop quizapp || true | |
pm2 delete quizapp || true | |
pm2 kill | |
npm install | |
pm2 start /home/ubuntu/actions-runner/_work/project-quiz-app/project-quiz-app/src/index.js --name "quizapp" || pm2 restart "quizapp" | |
pm2 save | |
# # Ensure dependencies are up-to-date | |
# npm ci | |
# # Write the environment variables from GitHub secrets into the .env file | |
# echo "${{ secrets.PROD_ENV_FILE }}" > .env | |
# # Stop, delete, and kill any existing PM2 processes to ensure a clean start | |
# pm2 stop quizapp || true # Avoid error if "quizapp" is not already running | |
# pm2 delete quizapp || true | |
# pm2 kill | |
# # Install any additional dependencies | |
# npm install | |
# # Start the PM2 process for the quiz app, using the main app entry point | |
# pm2 start /home/ubuntu/actions-runner/_work/project-quiz-app/project-quiz-app/src/index.js --name "quizapp" | |
# # Save the PM2 process list to restart on reboot if needed | |
# pm2 save |