释放nodejs应用程序的正确方法是什么?

时间:2013-10-24 18:16:45

标签: node.js release release-management

发布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
 });

更详细的说明 - 发布在同一服务器上的存储库文件夹中运行(注释中的数字):

  1. 通过提议最后10个并选择数字或通过编写标记名称来获取标记。
  2. 将当前存储库更新为所选标记。
  3. 归档应用程序文件夹 - 将其复制到具有唯一(数据)名称的归档文件夹。
  4. 通过调用forever stop pid来停止服务器 - 从现在开始,Nginx将显示维护模式页面。
  5. 删除当前的应用程序文件夹
  6. 将文件从存储库文件夹复制到release文件夹(跳过scm文件夹 - 在我的情况下是.hg)
  7. 运行JavaScript,CSS和Less文件的缩小脚本。
  8. 通过调用发布文件夹中的forever start server.js启动应用程序。
  9. 函数(getTag,update,archive,stop,...)在Sync调用之上声明。

    这是对的吗?

1 个答案:

答案 0 :(得分:1)

请考虑使用以下工具发布您的JavaScript应用程序,它们可能有助于SemVer版本控制并使发布过程不易出错:

  • Semantic release - 一个发布系统,可以在发布新版软件之前和之后轻松执行操作
  • Bumped - 完全自动化的包发布