将“HNG_BOILERPLATE” Express.js 应用的后端部署到生产服务器

💡 原文英文,约1000词,阅读约需4分钟。
📝

内容提要

本文介绍了使用GitHub Actions工作流程将Express.js样板应用的后端部署到EC2 Ubuntu服务器的生产环境。部署过程包括设置依赖项、拉取代码、运行测试、构建后端,并确保其作为服务运行。工作流程包括触发、检出代码、设置Node.js、管理Git远程和本地更改、拉取最新更改、安装依赖项、运行测试、构建后端、设置和重启服务、验证部署。还介绍了服务配置和Nginx配置,以及SSL证书设置和最终步骤。通过遵循以上步骤,可可靠地更新和维护Express.js样板应用的后端,并实现SSL安全访问。

🎯

关键要点

  • 本文介绍了使用GitHub Actions将Express.js样板应用的后端部署到EC2 Ubuntu服务器的过程。
  • 部署过程包括设置依赖项、拉取代码、运行测试、构建后端,并确保其作为服务运行。
  • 前提条件包括:EC2 Ubuntu服务器、安装Node.js 20、npm、Nginx、GitHub Actions Runner和Certbot。
  • 工作流程触发于对prod分支的推送。
  • 使用actions/checkout@v3拉取最新代码,确保获取完整历史。
  • 使用actions/setup-node@v3安装Node.js版本20。
  • 删除旧的远程URL以防止冲突,并存储或重置本地更改以保持工作目录干净。
  • 使用GitHub令牌从prod分支拉取最新更改。
  • 使用yarn install --frozen-lockfile安装Node.js依赖项,以确保与yarn.lock文件一致。
  • 使用yarn test运行测试,以验证后端的稳定性。
  • 使用yarn build构建后端,并删除之前的构建产物以防止冲突。
  • 将服务文件复制到/etc/systemd/system目录,并重新加载systemd管理器配置,重启服务以应用最新更改。
  • 等待服务启动并检查其状态,若服务处于活动状态则部署成功,否则失败。
  • 服务配置文件定义了Express.js应用后端在服务器上的运行方式。
  • Nginx作为反向代理,将传入流量路由到Express.js后端应用,并配置SSL。
  • 使用Certbot获取SSL证书并配置Nginx以支持HTTPS。
  • 确保Nginx配置指向后端的端口,并启用和启动systemd服务。
  • 本文档概述了Express.js样板应用后端的自动化部署过程,确保最新更改一致地部署到生产环境。
➡️

继续阅读