gpt4 book ai didi

Node.js:网站部署策略

转载 作者:搜寻专家 更新时间:2023-10-31 23:36:02 26 4
gpt4 key购买 nike

我使用 node.js 开发网络应用程序和网站

但是当我想将应用程序部署到某个 Pass 时,我必须自己手动优化应用程序

喜欢

  • 将 Sass 编译成样式表

  • 合并javascript文件和css文件

  • 将它们复制到YUI压缩包中,压缩后再复制回来

  • 等等

这个工作流让我很不爽,所以我的问题是,是否有一些工具或模块可以优化这个工作流,或者自动完成这个工作

您的部署策略是什么?

最佳答案

您需要的是构建工具。在 Java 中,ant 和 maven 是流行的选择。在 node.js 世界中,有大量的构建工具。我最熟悉的两个是 grunt 和 buildr(完全公开:我是 buildr 的维护者)。

这两种工具归结为您编写一个配置文件,指定您的源文件/目录以及您希望对它们执行的操作,选项包括缩小、串联、Saas 或 Stylus 编译等。

https://github.com/gruntjs/grunt

https://github.com/balupton/buildr.npm

对于部署工作流程,我建议执行以下步骤:

  1. 从源代码控制(Git 或 Subversion 等)清理您的网站或应用程序代码。
  2. 运行 grunt 或 buildr 命令来编译您所有的网站资源。
  3. 将结果上传到您的网络服务器,然后重新启动 node.js 进程。有很多方法可以做到这一点。

对于应用程序,我会建议删除远程系统上的安装目录,并用 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 是包含构建和部署所需的所有命令、日志记录、配置等的脚本。

关于Node.js:网站部署策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15176717/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com