npm 包 gdeployer 使用教程

阅读时长 5 分钟读完

简介

在前端开发中,我们常常需要将我们的代码部署到服务器上。然而,部署过程涉及到一系列繁琐的操作,例如代码打包、上传、解压、执行命令等。为了简化这个过程,我们可以使用 gdeployer 这个工具。gdeployer 是一个基于 Node.js 的 CLI 工具,它可以将我们的代码自动部署到指定的服务器上,且支持多种部署方式(包括 FTP、SFTP、SCP、rsync 等)。

安装

我们首先需要在全局安装 gdeployer:

配置文件

gdeployer 需要我们提供一个配置文件来指定需要部署的代码、部署方式以及服务器信息等。一个简单的配置文件的格式如下:

-- -------------------- ---- -------
-
  ------------ -------
  ----------------- ----------------------
  --------- ------
  ---------- -
    -
      ------- --------------
      ------- ---
      ----------- --------------
      ----------- -------------
    -
  --
  -------- -
    ---- --- ------
  -
-
  • sourceDir:要部署的代码所在的目录,默认为当前工作目录。
  • destinationDir:服务器上要部署到的目录。
  • method:部署方式。当前支持 "ftp", "sftp", "scp", "rsync" 四种方式,分别对应不同的协议和命令行参数。
  • servers:服务器信息。可以指定多个服务器,每个服务器包含主机名 (host)、端口号 (port)、用户名 (username) 和密码 (password) 等字段。
  • hooks:运行部署前需要执行的命令,例如打包代码等。

在配置文件中,我们还可以使用变量来动态生成目录或文件名。例如:

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

使用方法

我们可以在命令行中直接使用 gdeployer 来部署代码。例如:

其中,production 是我们在配置文件中预定义的部署环境名称,它对应了一组服务器信息与部署方式。我们可以在配置文件中定义多个部署环境,例如 stagingtesting 等。在部署时,我们可以使用不同的部署环境来指定不同的服务器与方式。

示例代码

以下是一个完整的使用示例。假设我们的目录结构如下:

我们的目标是将 dist 目录下的代码部署到远程服务器上。我们需要先在脚本中设置一个部署环境,例如 production,并在 config.json 文件中指定该环境的服务器信息与部署方式:

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

我们还需要在 package.json 文件中定义一个 deploy 脚本来启动部署过程。该脚本将首先调用 gdeployer 命令,以 production 环境部署当前的代码:

最后,在命令行中执行 npm run deploy 即可启动部署过程。gdeployer 将自动运行配置中定义的钩子脚本,并将代码上传到远程服务器上。在部署结束后,我们可以通过浏览器访问该服务器上的 index.html 文件来检查部署结果。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600672eb0520b171f02e1e4b

纠错
反馈