引言
随着移动互联网的快速发展,Node.js 成为应用开发领域新的宠儿,越来越多的企业和开发者选择使用 Node.js 来搭建应用程序。随着应用程序规模的不断增大,如何自动化构建和部署应用程序也成为了一个重要的问题。本文将详细介绍如何使用 PM2 和 Actions 来自动构建 Node.js 应用程序。
PM2 简介
PM2 是一个流行的 Node.js 进程管理器,它可以帮助你管理 Node.js 进程,包括启动、停止、重启等。PM2 也支持负载均衡和自动扩展,适用于高可用性的应用程序。下面介绍一下 PM2 的安装和基本使用。
安装
npm install pm2 -g
启动应用程序
pm2 start app.js
停止应用程序
pm2 stop app.js
什么是 Actions?
Actions 是 GitHub 提供的 CI/CD 服务,通过配置工作流程文件(workflow file),可以自动地构建、测试、打包和部署代码。Actions 支持多种语言、框架和操作系统,可以很方便地集成到 GitHub 仓库中。
在 GitHub Actions 中使用 PM2
下面将介绍如何在 GitHub Actions 中使用 PM2 构建 Node.js 应用程序。
步骤一:创建工作流程文件
在 GitHub 仓库中创建一份工作流程文件(例如:.github/workflows/ci.yml),配置要构建的任务、环境变量等信息。以下是一个示例工作流程文件:
// www.javascriptcn.com code example
name: CI
on:
push:
branches:
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: '12.x'
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
- name: Start server
run: pm2 start server.js
- name: Test
run: npm test上述工作流程包括以下几个步骤:
- 检查代码;
- 安装 Node.js;
- 安装依赖;
- 构建项目;
- 启动 Node.js 服务器;
- 运行测试。
步骤二:配置 PM2 运行环境
在工作流程文件中需要配置 PM2 运行环境。以下是示例配置:
- name: Start server
run: pm2 start server.js
env:
NODE_ENV: production其中,NODE_ENV 环境变量用于指定运行环境为生产环境。
步骤三:部署应用程序
在工作流程文件中需要配置部署应用程序。以下是示例配置:
- name: Deploy
uses: easingthemes/ssh-deploy@v2.1.7
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
ARGS: '-r /usr/share/nginx/html'
SOURCE: 'dist'
DEPLOYMENT_BRANCH: 'master'
SERVER: ${{ secrets.SERVER }}其中,需要注意以下几点:
SSH_PRIVATE_KEY环境变量需要在仓库的 Secrets 中配置;ARGS可以指定服务器上的路径;SOURCE指定要部署的代码目录;DEPLOYMENT_BRANCH指定要部署的代码分支;SERVER环境变量需要在仓库的 Secrets 中配置。
结语
本文介绍了如何使用 PM2 和 Actions 自动构建 Node.js 应用程序。通过自动化构建和部署,可以提高应用程序的开发效率和可靠性。如果你还没有尝试使用 PM2 和 Actions 自动构建应用程序,建议在项目中使用,体验一下自动化构建和部署的便捷性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67d00e1be46428fe9ec96481