作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
当建立一个网站时(为了清楚起见,一个纯 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,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32097479/
我是一名优秀的程序员,十分优秀!