摘要:名字运行脚本环境变量服务器端地址默认需配置需配置远程地址需配置放入服务器端地址需配置安装服务器上的版本需要在以上,否则不成功,代码更新不了。
创建配置项
在你的git仓库根目录中新建pm2配置文件ecosystem.config.js,如注释所示,或者执行pm2 init初始化文件ecosystem.config.js。
module.exports = {
apps : [{
//pm2名字
name: "nextcn",
//pm2运行脚本
script: "./app.js",
//环境变量
env: {
NODE_ENV: "development",
},
env_production: {
NODE_ENV: "production",
}
}],
deploy: {
// "production" is the environment name
production: {
// 服务器端SSH key 地址, 默认 $HOME/.ssh
key: "$HOME/.ssh",
// SSH user 需配置
user: "root",
// SSH host 需配置
host: ["47.98.138.195"],
// SSH options with no command-line flag, see "man ssh"
// can be either a single string or an array of strings
ssh_options: "StrictHostKeyChecking=no",
// GIT remote/branch
ref: "origin/master",
// GIT ssh远程地址 需配置
repo: "git@github.com:raoenhui/next-site-cn.git",
// 放入服务器端地址 需配置
path: "/ice/pm2",
// Pre-setup command or path to a script on your local machine
"pre-setup": "echo "This is a pre-setup command"",
// Post-setup commands or path to a script on the host machine
// eg: placing configurations in the shared dir etc
"post-setup": "ls -la",
// pre-deploy action
"pre-deploy-local": "echo "This is a pre-deploy-local command"",
// post-deploy action
"post-deploy": "npm install && pm2 reload ecosystem.config.js --env production""
},
}
}
安装
pm2 deploy production setup
服务器上的git版本需要在v1.8以上,否则fetch不成功,代码更新不了。可参照CENTOS安装高版本GIT更新
pm2 deploy production update回滚
pm2 deploy production revert 1
可查看提交记录,回滚到想要的版本pm2 deploy production list强制提交
pm2 deploy production --force
当你代码有修改但是不想提交时可以强制发布参考资料
https://github.com/Unitech/pm2/issues/2935
https://raoenhui.github.io/nodejs/2018/11/12/pm2/
Happy coding .. :)
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/99249.html
摘要:于是着手将应用迁移到阿里云的上去。环境介绍本地,应用采用的技术远端服务器阿里云核内存,,系统为账户名系统架构服务器部署的应用,并在端口进行监听。通过浏览器打开可以看到部署的应用可以访问了。 背景 前一段时间,是通过百度云的BAE部署自己的Node应用的,不过随着应用的不断开发,BAE的限制不断制约了应用的使用。于是着手将应用迁移到阿里云的ECS上去。本文即是介绍了如何在ECS上搭建No...
摘要:使用背景当我们需要将项目部署到远程线上服务器时传统的方法可能就是将本地代码通过等方式上传到服务器然后通过登入到服务器,配置好环境手动启动应用。 使用背景 当我们需要将项目部署到远程线上服务器时;传统的方法可能就是: 将本地代码通过ssh、ftp等方式上传到服务器; 然后通过ssh登入到服务器,配置好环境; 手动启动应用。 太过手动化,麻烦,操作繁琐。 现代自动化部署 ...
摘要:原因我搭私库的原因很简单,目前正在开发一个组件库,提供给公司内部使用,我不想去注册,也不想等待的审核,只想要有个仓库快速测试发布自己的包。我一般会通过启动,原因很简单,关闭窗口后,服务不会停掉,并且能很好的管理我们启动的服务。 原因 我搭私库的原因很简单,目前正在开发一个组件库,提供给公司内部使用,我不想去注册npm,也不想等待npm的审核,只想要有个仓库快速测试发布自己的npm包。 ...
阅读 1265·2021-11-18 10:02
阅读 1484·2021-09-23 11:22
阅读 2886·2021-08-21 14:08
阅读 1860·2019-08-30 15:55
阅读 1906·2019-08-30 13:45
阅读 3483·2019-08-29 16:52
阅读 3311·2019-08-29 12:18
阅读 1856·2019-08-26 13:36