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

问题描述 投票:9回答:1

在构建网站时(为了清晰起见,仅限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/文件夹还是第三个解决方案?

git gulp
1个回答
10
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.