博客
关于我
Vue项目自动部署之二、NuxtJS 发布部署(PM2、GitHub Actions)
阅读量:257 次
发布时间:2019-02-28

本文共 1157 字,大约阅读时间需要 3 分钟。

传统部署方式

传统部署流程包括以下步骤:

  • 配置 Host + Port

    nuxt.config.js 中设置服务器属性:

    • host:默认值为 localhost,仅限本地访问;若需要对外访问,设置为 0.0.0.0,以监听所有网卡地址。
    • port:Nuxt默认端口为 3000
  • 压缩发布包

    服务器上传的文件包括:.nuxtstaticnuxt.config.jspackage.jsonpackage-lock.jsonpm2.config.js

  • 上传到 Linux 服务器

    • 使用 VSCode 终端连接服务器。
    • 通过 scp 命令上传压缩包。
    • 解压并安装依赖。
    • 启动服务。
  • 使用 PM2 启动 Node 服务

    PM2 是管理 Node.js 应用的工具,通过它可以将应用运行在后台。

    • 安装 PM2:使用 npm i -g pm2 全局安装。
    • 启动应用pm2 start npm -- start
    • 配置文件:创建 pm2.config.json,指定启动脚本和参数。
    • 注意事项:在 Windows 环境下,使用 PM2 需要将 npm 命令写入脚本文件中,避免直接执行。

    Windows 环境下的解决方案

    • 错误日志:PM2 报错提示 Maximum call stack size exceeded,可能是由于 npm 源问题。
    • 解决方法:切换 npm 源至淘宝镜像,通过 npm set registry https://registry.npm.taobao.org/ 配置。

    自动化部署方式

    结合 CI/CD 服务,实现自动化部署。

    准备工作

    • 服务器配置:确保服务器安装了 Git、Node.js、PM2 等工具。
    • GitHub 仓库:托管项目代码。

    GitHub Actions 配置

  • 创建工作流文件:在 github/workflows/.yml 中定义工作流。
  • 配置 secrets:在 GitHub 项目设置中添加 Token、服务器 IP、用户名和密码。
  • 工作流步骤

  • 检查出代码:使用 actions/checkout@master 插件获取代码。
  • 构建发布包:执行 npm installnpm run build
  • 生成压缩包:使用 tar 命令打包必要文件。
  • 发布到服务器:通过 SSH 行动上传并解压发布包,安装依赖,启动服务。
  • 常见问题解决

    • 环境变量问题:在 GitHub Actions 中,手动添加 Node.js 路径:
      export PATH=/root/.nvm/versions/node/v12.17.0/bin:$PATH
    • 权限问题:确保服务器权限足够,禁止密码策略阻止脚本执行。

    通过以上步骤,可以实现自动化部署,减少人为错误,提高效率。

    转载地址:http://efzp.baihongyu.com/

    你可能感兴趣的文章
    pods 终端安装 第三方框架的一些命令
    查看>>
    Podzielno
    查看>>
    PoE、PoE+、PoE++ 三款交换机如何选择?一文带你了解
    查看>>
    PoE三种标准:标准 PoE、PoE+、PoE++,网络工程师必知!
    查看>>
    POI 的使用
    查看>>
    poi 读取单元格为null者空字符串
    查看>>
    poi-tl简介与文本/表格和图片渲染
    查看>>
    pointnet分割自己的点云数据_PointNet解析
    查看>>
    POI实现Excel导入Cannot get a text value from a numeric cell
    查看>>
    POI实现Excel导入时提示NoSuchMethodError: org.apache.poi.util.POILogger.log
    查看>>
    POI实现Excel导出时常用方法说明
    查看>>
    POI导出Excel2003
    查看>>
    POI数据获取及坐标纠偏
    查看>>
    Quartz入门看这一篇文章就够了
    查看>>
    POI解析Excel【poi的坑——空行处理】
    查看>>
    POI:POI+JXL实现xls文件添加水印
    查看>>
    POI:POI实现docx文件添加水印
    查看>>
    POJ 1006
    查看>>
    Quartz中时间表达式的设置-----corn表达式
    查看>>
    poj 1035
    查看>>