如何在生产服务器上部署gulp

时间:2015-08-19 13:50:50

标签: git gulp

在构建网站时(为了清晰起见,只提供HTML / JS网站)我使用gulp编译并连接一些文件,然后将这些文件放在build/文件夹中。

文件夹结构如下所示:

├── assets
│   ├── images
│   ├── javascripts
│   │   └── app.js
│   └── stylesheets
│       └── style.scss
├── bower.json
├── build
│   ├── bower_components
│   ├── images
│   ├── index.html
│   ├── scripts.min.js
│   └── styles.min.css
├── gulpfile.js
├── index.html
├── node_modules
│   ├── gulp-module-1
│   └── gulp-module-2
├── package.json
└── README

如果我在git仓库中包含所有这些文件,我的所有更改都将提交两次。也就是说:assets/stylesheets/style.scss中的更改也会导致build/styles.min.css发生变化。但是,如果我决定从存储库中排除build/文件夹,您将需要生产服务器上的某些开发工具(即gulp,npm等)。当有限的权限时,这有时会很困难在生产服务器上。显然排除assets/文件夹不是一个选项,因为您将丢失已编译文件的源。

因此,我的问题是:在生产服务器上部署此功能被认为是最佳做法?您是否在repo中包含build/文件夹,是在编译生产服务器上的build/文件夹还是第三个解决方案?

1 个答案:

答案 0 :(得分:10)

虽然不是每个人都同意这个问题的最佳解决方案,但我认为还有第三种解决方案,你错过了我通常会喜欢的。您可以在开发计算机上构建所有文件,然后部署构建到生产服务器的文件。这通常只是一个复制行动。

这样您就不需要在服务器上安装任何开发工具,也不会在版本控制系统中拥有构建输出。