前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >教你用 pm2 快速部署前端项目

教你用 pm2 快速部署前端项目

作者头像
savokiss
发布2019-11-06 19:05:04
2K0
发布2019-11-06 19:05:04
举报
文章被收录于专栏:码力全开码力全开

0x00 前言

前端部署项目到测试环境,简单粗暴的直接用 gulp 来写,详细流程可以看我总结的文档: 前端代码部署

pm2 大家应该都知道,主要是用来管理 node 进程,但是同样可以用来部署前端代码。

目前 pm2 已经商业化,免费版叫 pm2 runtime

0x01 步骤

全局安装 pm2

代码语言:javascript
复制
$ sudo npm i pm2 -g

同时服务器上也需要全局安装 pm2

配置SSH

首先需要生成 SSH 密钥,用来连接服务器

代码语言:javascript
复制
ssh-keygen -t rsa
ssh-copy-id -i path/to/my/key your_username@server.com

也可以手动添加 public key 到服务器上的 ~/.ssh/authorized_keys

pm2 配置文件

在项目根目录下新建 ecosystem.config.js

代码语言:javascript
复制
module.exports = {
  apps: [{
    name: "app",
    script: "app.js"
  }],
  deploy: {
    // "production" 是环境名称
    production: {
      // SSH key 路径
      key: `${process.env.HOME}/.ssh/your-privite.key`,
      // SSH 用户
      user: "www",
      // SSH 端口
      host: ["your.remote.server"],
      // SSH 配置
      ssh_options: "StrictHostKeyChecking=no",
      // GIT 远程分支
      ref: "origin/master",
      // GIT 仓库
      repo: "git@github.com:username/repository.git",
      // 服务器部署路径
      path: "/var/www/my-repository",
      // 安装后置任务
      'post-setup': "npm install",
      // 部署后置任务
      'post-deploy': "npm run build",
    },
  }
}

由于 pm2 是用来部署 node 代码的,需要提供一个 js 文件用来执行,上面配置文件制定了项目根目录下的 app.js

里面写一行 log 即可

代码语言:javascript
复制
console.log('app is running')

首次部署配置

代码语言:javascript
复制
$ pm2 deploy production setup

从上面配置文件可知,setup 完成后会执行 npm install

首次部署后 pm2 会在执行文件夹(配置文件中的path) 生成三个文件夹

  • current - 当前版本代码,可以配置为 nginx 指向,也是 git repo
  • shared - 里面有log 和pid 等信息
  • source - git 拉下来的代码

一些部署命令

代码语言:javascript
复制
# 首次部署命令
pm2 deploy production setup

# 非首次部署命令
pm2 deploy production update

# 回退一个版本
pm2 deploy production revert 1

# 远程执行服务器命令
pm2 deploy production exec "pm2 reload all"

链接

  • 官方 ssh 部署说明
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码力全开 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x00 前言
  • 0x01 步骤
    • 全局安装 pm2
      • 配置SSH
        • pm2 配置文件
          • 首次部署配置
            • 一些部署命令
            • 链接
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档