npm 包 pm2-better-deploy 使用教程

前言

在现代化的前端工程中,对于线上部署以及运维的需求越来越多。而 pm2 是一款非常优秀的 Node.js 进程管理器,它可以通过集群的方式来管理多个 Node.js 应用。

但是,pm2 自带的部署功能并不太方便,需要手动配置部署文件,不方便扩展,不支持多机部署等。

pm2-better-deploy 为 pm2 提供了一套全新的、易于扩展的部署方法,而且支持多机部署,真正实现了“一键部署”。

安装

使用 npm 安装 pm2-better-deploy:

--- ------- ----------------- ----------

这样,pm2-better-deploy 就被安装到了项目的开发依赖中。

配置

在项目根目录下创建一个名为 pm2.config.js 的文件,配置部署相关的内容。

-------------- - -
  -------- -
    ----- ------------
    ---- ----------------
    ----- -------------------------------
    ----- ---------------------
    ------------ ----- ---------- ---------
    ------------- ----- ----------- ---------
    ------------------- ----- ----------------- ---------
    -------------- ---- ------- -- --- ------ ------------------- ----- ---------
    ------------- ----- ----------- ---------
  --
  ----------- -
    ----- ----------------------- -----------------------
    ---- ----------------
    ----- -------------------------------
    ----- ---------------------
    ------------ ----- ---------- ---------
    ------------- ----- ----------- ---------
    ------------------- ----- ----------------- ---------
    -------------- ---- ------- -- --- ------ ------------------- ----- ------------
    ------------- ----- ----------- ---------
  --
-

每个 key 都表示一个部署环境,可以根据需要进行定义,建议至少有 staging 和 production 两个环境。

  • host:部署机器的 IP 或者域名。
  • ref:git 的分支或者标签。
  • repo:部署的 git 仓库地址。
  • path:部署到目标机器上的路径。
  • pre-setup:执行完 clone 命令之后,但在部署前的脚本。
  • post-setup:部署完成之后,在启动应用之前执行的脚本。
  • pre-deploy-local:在 deploy 之前执行的本地脚本。
  • post-deploy:部署完成之后执行的脚本。
  • pre-deploy:在 deploy 之前执行的远程脚本。

使用

部署到单机环境

----------------- -------

部署到多机环境

----------------- ----------

使用场景

开发过程中需要将代码同步到线上服务器,最为常见的场景是,开发人员在本地修改了代码,然后在本地 push 到指定的分支,然后在服务端运行指令,自动拉去最新代码后运行。

在此场景下,使用 pm2-better-deploy 命令可以自动完成这些步骤。

示例代码

下面是一个简单的示例,配置了 stagingproduction 两个部署环境,其中 staging 部署到单机环境,而 production 部署到多机环境。

-------------- - -
  -------- -
    ----- ------------
    ---- ----------------
    ----- -----------------------------------------
    ----- -------------------
    ------------ ----- ---------- ---------
    ------------- ----- ----------- ---------
    ------------------- ----- ----------------- ---------
    -------------- ---- ------- -- --- ------------- ------------------- ----- ---------
    ------------- ----- ----------- ---------
  --
  ----------- -
    ----- ------------- -------------
    ---- ----------------
    ----- -----------------------------------------
    ----- ----------------------
    ------------ ----- ---------- ---------
    ------------- ----- ----------- ---------
    ------------------- ----- ----------------- ---------
    -------------- ---- ------- -- --- ------------- ------------------- ----- ------------
    ------------- ----- ----------- ---------
  --
-

总结

pm2-better-deploy 提供了一种简单易用的、易于扩展的部署方式,实现了“一键部署”的目标。使用 pm2-better-deploy 可以大大简化前端项目的部署流程,提高开发和运维效率,是现代前端工程中必不可少的工具之一。

通过以上的教程,相信大家已经了解了 pm2-better-deploy 的使用方法和原理。希望本文能够帮助大家更加高效地工作。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005678281e8991b448e3e53


猜你喜欢

  • npm 包 meetyou-express-joi 使用教程

    在编写 Node.js 服务器的过程中,输入的参数需要进行校验,确保数据的正确性和安全性。想要高效、快捷地完成数据校验,我们可以使用 npm 包 meetyou-express-joi。

    3 年前
  • npm 包 kf-data-grid 使用教程

    介绍 kf-data-grid 是一款基于 React 的表格组件库,提供了丰富的功能和样式,并且还支持自定义主题和扩展操作。它可以用于各类 Web 应用中,更是前端开发必不可少的工具之一。

    3 年前
  • npm 包 @dannsam/mobx 使用教程

    简介 @dannsam/mobx 是一个基于 MobX 5.x 版本的封装库,提供了一系列便利的 API,使开发人员可以更加便捷地创建响应式应用程序。其集成了 MobX 的核心库,并且主要针对 Rea...

    3 年前
  • npm 包 flickrrand 使用教程

    简介 flickrrand 是一个可以获取 Flickr 上照片的随机工具,是一个很有用的 npm 包。使用这个工具,你可以非常方便地获取 Flickr 上的照片信息。

    3 年前
  • npm 包 npm-chronologicalgraph-pkg 使用教程

    npm-chronologicalgraph-pkg 是一个可视化的npm包依赖图工具,可以通过简单易用的方式帮助开发人员更好地管理自己的项目依赖。 通过使用 npm-chronologicalgra...

    3 年前
  • npm 包 react-trello-fork 的使用教程

    在前端开发中,我们经常会使用到各种各样的框架和库。其中,React 是一种非常流行的框架,用于构建用户界面。而且,React 生态系统中拥有非常多的第三方库,以扩展 React 的功能。

    3 年前
  • npm 包 rendfetch 使用教程

    简介 rendfetch 是一个基于原生 fetch 封装的轻量级网络请求库,它支持跨域请求、上传下载、拦截器、超时设置等功能,可在前端项目中方便地使用。 安装 通过 npm 安装 rendfetch...

    3 年前
  • npm 包 blade-ng-lib 使用教程

    什么是 blade-ng-lib? blade-ng-lib 是一个 Angular 组件库,它包含了一些常用的 UI 组件和工具类,可以帮助前端开发者快速搭建页面,提高开发效率,减轻开发负担。

    3 年前
  • npm 包 hubot-cryptoprice 使用教程

    简介 hubot-cryptoprice 是一个用于机器人聊天程序的 npm 包。它可以帮助用户在聊天程序中查询各种加密货币的价格和统计信息。例如你可以使用 !bitcoin 命令查询比特币的价格。

    3 年前
  • npm包react-hybrid-storage使用教程

    本文将介绍npm包react-hybrid-storage的使用方法,包括安装、配置以及使用,以及相应的示例代码。 什么是react-hybrid-storage? react-hybrid-stor...

    3 年前
  • npm包@dataplug/toggl-dataplug使用教程

    在前端开发中,数据管理和数据可视化是非常重要的部分。而Toggl是一个时间跟踪工具,可以帮助协调员或独立开发人员估算项目成本,跟踪工作时间以及管理项目进度。而@dataplug/toggl-datap...

    3 年前
  • npm 包 orange-session 使用教程

    前端开发中,会经常使用到会话信息。而 orange-session 是一个提供会话管理的 npm 包,它可以方便地管理用户会话信息。 在本文中,我将带您学习如何使用 orange-session 包来...

    3 年前
  • npm 包 ez-mock 使用教程

    ez-mock 是一个简单易用的 Node.js 模拟数据工具,可以帮助前端开发者快速创建本地 Mock 数据。 安装 要使用 ez-mock,需要先安装 Node.js,然后使用 npm 或者 ya...

    3 年前
  • npm包aframe-mirror-component使用教程

    简介 aframe-mirror-component是一个基于A-Frame的npm包, 用于将对象沿着X, Y或Z轴进行镜像翻转。该包使得WebVR镜像翻转变得容易实现,提供了一种简单的方式来反转模...

    3 年前
  • NPM包generator-arm-template使用教程

    简介 generator-arm-template是一个用于生成Azure资源管理器模板的NPM包。该模板提供了Azure资源管理器模板的基础结构和生成模板的工具链,使得开发人员可以更加便捷地创建和管...

    3 年前
  • npm 包 @gnucoop/tangram 使用教程

    简介 @gnucoop/tangram 是一个强大的前端能力库,可以帮助开发者快速构建复杂的 Web 应用。它包含了各种常用的前端组件和工具,比如表格、弹窗、图表等等,可以帮助开发者高效地实现各种前端...

    3 年前
  • npm 包 ChronologicalGraph 使用教程

    简介 ChronologicalGraph 是一款在前端常用的 npm 包,它能够帮助我们在前端中轻松地实现按时间顺序展示的效果。该包基于 D3.js 构建而成,具有良好的交互性和可扩展性,适用于时间...

    3 年前
  • npm 包 egg-config-validator 使用教程

    egg-config-validator 是 egg.js 的一个 npm 包,它可以让开发者更加简单地对 egg.js 配置文件进行验证和约束,从而减少运行时出错的可能性。

    3 年前
  • npm 包 combine-reducers-enhanced 使用教程

    前言 在日常的前端开发中,我们经常需要处理多个子状态(state)并将它们组合成一个整体的状态。Redux 是一种非常受欢迎的状态管理库,combineReducers 是其中的一个重要方法,可以将多...

    3 年前
  • npm包unicode2utf8使用教程

    简介 在前端开发过程中,我们经常会遇到字符编码的问题,而unicode2utf8是一个能够帮助我们转换字符编码的npm包。在这篇文章中,我将为大家介绍如何使用unicode2utf8。

    3 年前

相关推荐

    暂无文章