视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
PM2自动部署代码步骤流程总结
2020-11-27 22:02:36 责编:小采
文档


如果有多个 ssh 账号需要配置,在 config 文件里隔行分开写就行

服务器环境

服务器环境同理,不同的是服务器环境添加的公钥需要放在部署公钥下

0x02 配置git

先将git origin 的地址修改成ssh的别名地址

vim /.git/config

修改origin 的中gitee.com 为别名gitee,然后保存

注意这里的别名是本地的别名gitee,但是git库需要保持一致,所以在服务器上配置的别名也为gitee,只需要配置别名即可,证书还是各有各的证书。

先到项目目录用git将刚刚创建的项目拉取下来,拉取后,我们随便部署一个测试的代码,看是否能提交进gitee
这里我使用的是node的官方测试代码


传输成功后,我们开始配置PM2的配置文件

0x03 配置PM2

官方说明中只需要配置好这里的ecosystem.config.js 配置文件,并且让本地环境和服务器环境可以通过ssh访问即可实现PM2自动部署

配置ssh

本地生成shh密钥

将密钥写入本地config文件中

将公钥写入到服务器环境中的authorized_keys

配置ecosystem.config.js

使用 pm2 ecosystem 自动生成ecosystem.config.js

ecosystem.config.js:
 module.exports = {
 apps : [{
 name: 'test',
 script: 'test.js',

 // Options reference: https://pm2.io/doc/en/runtime/reference/ecosystem-file/
 // 远程服务器上的PM2参数配置
 args: 'one two', //参数
 instances: 1, //实例数量
 autorestart: true, //自动启动:是
 watch: false, //监视模式:否
 max_memory_restart: '1G',//如果超过内存多少后,将重启实例:1G
 env: {
 NODE_ENV: 'development'
 },
 env_production: {
 NODE_ENV: 'production'
 }
 }],

 deploy : {
 production : {
 user : '远程主机用户名',
 host : '远程主机的ssh-config中的别名',
 port : '远程主机ssh端口',
 ref : 'origin/master',//远程gitee上的分支
 repo : 'git@[gitee别名]:[git库地址]',
 path : '远程服务器上的部署路径',
 'post-deploy' : 'npm install && pm2 reload ecosystem.config.js --env production'//部署完成后的操作
 }
 }
};

配置完成后,执行 pm2 deploy production setup 初始化PM2的部署


以后更新,执行 pm2 deploy production update,则更新新的代码并运行了。

下载本文
显示全文
专题