我使用node.js来开发 web 应用程序和网站,但是当我想要将应用部署到某些Pass时,我必须手动优化应用程序,例如将Sass编译为样式表,将JavaScript文件合并在一起,将CSS文件合并在一起,将它们复制到YUI压缩后再复制回来等。这个流程让我感到沮丧,所以我的问题是,是否有一些工具或模块可以优化这个流程,或者自动执行此任务?你的部署策略是什么?请按照格式要求返回结果,谢谢!
https://github.com/gruntjs/grunt
https://github.com/balupton/buildr.npm
对于部署工作流程,我建议按照以下步骤进行:
对于应用程序,我建议在远程系统上删除安装目录,并将新版本SCP到其位置。这假设负载均衡器存在。
根据您的应用程序,这可能足够简单,可以使用shell脚本自行编写,或者您可以使用像capistrano或fleet这样的工具。
https://github.com/capistrano/capistrano
https://github.com/substack/fleet
对于一个简单的网站,我建议使用像rsync这样查看文件差异的工具。因为我的个人网站只是静态内容,我使用rsync来管理,这样我就不必担心依赖等问题。$ git clone git://github.com/whatever.git && (cd whatever && buildr && rsync -avz --delete -e ssh <remote server>:webroot)
或者对于一个应用程序,可以更自动化一些:
$ git clone git://github.com/whatever.git && (cd whatever && buildr && make upload)
$ buildApp && deployApp
buildApp和deployApp是包含所有命令、日志、配置等所需内容的脚本,用于构建和部署。