NodeJS 또는 PM2에 Typescript를 적용하려면

¿Qué es PM2?



PM2 es un gestor de procesos que te ayuda a gestionar y mantener tu aplicación en línea y con Github Actions podremos desplegar nuestra aplicación totalmente gratis y manera sencilla.

Uniendo estas dos herramientas crearemos una pipeline con la cual desplegaremos nuestra aplicación. Para ello, tendremos que configurar nuestro repositorio con los siguientes pasos:
  • Creamos la carpeta github/workflows
  • Dentro generaremos el archivo action.yml(El nombre no tiene importancia). A continuación, dejaré una muestra de una action en la que comprobamos primero nuestro código con la ejecución de unos test unitarios, y si hemos tenido éxito desplegaremos nuestro código en el servidor.
  • Github에서 일반 비밀 정보에 대해 더 많은 정보를 얻을 수 있습니다.

  • name: Test & Deploy
      push:
        branches:
          - main
    jobs:
      test:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v3
          - uses: actions/setup-node@v3
            with:
              node-version: '16'
          - run: npm install
          - run: npm run test
      deploy:
        needs: test
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v3
          - name: Deploy app
            uses: victorargento/pm2-deployment@main
            with:
              remote-path: "/deployment/api"
              host: 12.34.56.78
              username: ${{ secrets.prod-user }}
              port: 2080
              password: ${{ secrets.prod-password }}
              pm2-id: "api"
              build : "true"
    


    PM2 배포



    La action que utilizamos para desplegar es un fork de Node VPS Deployment , a la cual he añadido funcionalidades para que se pueda hacer una build de Typescript y utilice reload en vez de restart.

    Emplear reload en vez de restart en una aplicación que es un servidor web, es mucho mejor, ya que restart es una forma más agresiva de reiniciar nuestra aplicación. Aquí puedes Consultar más información acerca de ello .

    Puedes darle una estrella a mi proyecto aquí ✌.

    좋은 웹페이지 즐겨찾기