发布nodejs Web应用程序的正确方法是什么?
我当前的发布脚本正在执行以下操作:
Sync(function(){
var tag = getTag.sync(); //1 - getting the tag to release
update.sync(null, tag); //2 - update current project to choosen tag
archive.sync(); //3 - archive current released project
stop.sync(); //4 - stop server
del.sync(); //5 - delete currently released project
copy.sync(); //6 - copy files from scm folder
packAssets.sync(); //7 - minify javascript. css, less files
start.sync(); //8 - start the application
});
更详细的描述 - 发布在同一服务器上的存储库文件夹中运行(编号与注释相同):
- 通过提出最后 10 个并选择数字或编写标签名称来获取标签。
- 将当前存储库更新为选定的标签。
- 存档应用程序文件夹 - 将其复制到具有唯一(数据)名称的存档文件夹。
- 通过调用停止服务器
forever stop pid
- 从现在开始 Nginx 将显示维护模式页面。 - 删除当前应用程序文件夹
- 将文件从存储库文件夹复制到发布文件夹(跳过 scm 文件夹 - 在我的情况下为 .hg)
- 为 JavaScript、CSS 和 Less 文件运行压缩脚本。
- 通过调用
forever start server.js
发布文件夹来启动应用程序。
函数(getTag、update、archive、stop、...)在 Sync 调用之上声明。
这是对的吗?