企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] # 连接线上数据库 ~~~ var env = process.env.NODE_ENV || ' development' // 格式为 mongodb://usernam:password@host:port/database var dbUrl = 'mongodb://root:123456@127.0.0.1:27017/base' if (env === 'development') { dbUrl = 'mongodb://localhost/base' } ~~~ # 添加公钥 将服务器的公钥添加到代码仓库的SSH <br> <br> # 将本地代码推送到代码仓库 ~~~ git status git add . git commit -m "first commit" git remote add origin git@github.com:surahe/xxxxx.git git push origin master ~~~ <br> <br> # 创建 Ecosystem file ~~~ pm2 init ~~~ ~~~ // ecosystem.config.js module.exports = { apps : [{ // 必填项 name: 'API', // 进程列表中的进程名称。默认值是没有扩展名的脚本文件名 script: 'app.js', // 要启动的脚本路径,必填字段 // 选填项 args: 'one two', // 传递给脚本的参数,默认值是当前环境的CWD instances: 1, // 默认值是 1 autorestart: true, // 进程失败后启用或禁用自重启,默认值是true watch: false, // 启用或禁用观察模式,或使用数组指定监控的目录 max_memory_restart: '1G', // 如果超出内存量,重新启动应用 env: { NODE_ENV: 'development' }, env_production: { // 指定使用–env 时要注入的环境变量 NODE_ENV: 'production' } }], deploy : { production : { // 必填项 user : 'node', // SSH user host : '212.83.163.1', // SSH user ssh_options: "StrictHostKeyChecking=no", // 主机公钥确认 ref : 'origin/master', // GIT 远程分支 repo : 'git@github.com:repo.git', // GIT remote path : '/var/www/production', // 项目在服务器的位置 // 选填项 // key: "/path/to/some.pem", // SSH key path, 默认为 $HOME/.ssh // 'pre-setup': "apt-get install git ; ls -la", // 初始化的时候调用 // 'post-setup': "ls -la", // 'pre-deploy-local': "echo 'This is a local executed command'", 'post-deploy' : 'npm install && pm2 reload ecosystem.config.js --env production' // 接受推送触发的钩子, 安装依赖及重载服务 } } }; ~~~ <br> <br> # 创建代码存放目录 在服务器创建代码存放目录 ~~~ mkdir /www/ cd /www mkdir /website ~~~ <br> <br> # 第一次部署 在本地使用 git bash 执行,进行您的第一次部署并填充远程路径 ~~~ pm2 deploy deploy.yaml production setup ~~~ ![](https://box.kancloud.cn/9a25e0fd642131d40ab370c8f7bcd1c0_352x200.png) <br> <br> # 修改后提交 修改代码并提交到远端后,执行 ~~~ pm2 deploy deploy.yaml production ~~~ ![](https://box.kancloud.cn/5b201f6acf638b228117c560dfd10004_732x242.png) <br> <br> # 部分命令 ## 安装 ``` pm2 deploy production setup ``` > 服务器上的git版本需要在v1.8以上,否则fetch不成功,代码更新不了 <br> ## 更新 ``` pm2 deploy production update ``` <br> ## 回滚 可查看提交记录,回滚到想要的版本 `pm2 deploy production list` ``` pm2 deploy production revert 1 ``` <br> ## 强制提交 当你代码有修改但是不想提交时可以强制发布 ``` pm2 deploy production --force ```