部署 Yeoman 站点

运行 gulp build 任务会在 dist 目录中生成应用程序的优化版本。有多种方法可以将此代码版本化并部署到生产环境。

Gulp-gh-pages

使用 Gulp 插件 gulp-gh-pages,您可以通过特定任务(例如 gulp deploy)让您的应用程序进行部署。它接受各种选项

  • Git 远程仓库,默认为 origin
  • 要推送到哪个分支,默认为 gh-pages
  • 提交消息。
  • 一个选项,用于指定是否应自动将分支推送到远程仓库。

有关更多信息,您始终可以查看 其自述文件

Grunt-build-control 任务

Grunt build control 是专门为部署 Yeoman 应用程序而开发的。它可以帮助您使用 Grunt 任务自动版本化和部署构建的代码。配置选项包括

  • 要提交到的分支名称(例如,prod、gh-pages)
  • 要推送到哪个远程仓库(例如,Heroku 实例、GitHub 远程仓库或本地源代码仓库)
  • 自动提交消息,包括构建代码的分支和提交
  • 安全检查,以确保源代码存储库是干净的,以便构建的代码始终对应于源代码提交

Build control 在每次提交之前都会获取,并且通常在多个贡献者独立部署时可以很好地维护代码版本。只要没有用户强制推送,它就会维护完整的修订历史记录。完整文档可在项目的 GitHub 页面 上找到。

Git subtree 命令

您还可以将源代码和构建的代码保存在同一个分支上,并仅使用 git subtree 命令部署 dist 目录。

  1. .gitignore 文件中删除 dist 目录。Yeoman 项目默认会忽略它。
  2. dist 目录添加到您的存储库

     git add dist && git commit -m "Initial dist subtree commit"
    
  3. 将子树部署到不同的分支。使用 --prefix 指定到 dist 目录的相对路径

     git subtree push --prefix dist origin gh-pages
    
  4. 正常开发,将整个存储库提交到您的默认(主)分支。
  5. 要部署 dist 目录,请从根目录运行 subtree push 命令

     git subtree push --prefix dist origin gh-pages
    

Git-directory-deploy 脚本

Git directory deploy 是一个自动化程度较低的脚本,其工作原理与 grunt build control 类似。

进一步阅读