首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在部署后在远程服务器上触发gulp/grunt任务?

如何在部署后在远程服务器上触发gulp/grunt任务?
EN

Stack Overflow用户
提问于 2015-04-09 17:47:27
回答 1查看 1.4K关注 0票数 2

我刚刚切换到Wordpress: roots.io/ Sage /docs/的roots.io初学者主题,目前正在阅读部署过程。

我的流程通常是:-进行更改-使用grunt/gulp提交构建(包括编译脚本)-部署。

Sage的.gitignore文件从repo中删除dist文件夹(已编译的文件)。在回购中没有css/js。您应该在部署后在暂存/生产环境上安装节点/npm并构建资产吗?如果是这样的话,如何在部署后在远程服务器上触发gulp/grunt任务?

我使用https://www.springloops.com/来管理git和部署。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-09 18:48:38

您应该在部署后在暂存/生产环境上安装节点/npm并构建资产吗?

你应该避免这样做。对于将编译好的资产提交给VCS,有不同的看法,正如您之前所说的那样。

让我们看一个例子。

你在本地完成了所有的测试。您已经有几天没有运行npm update了,其中一个依赖项指定了一个松散的版本约束;类似于"~1.0.0"

你部署。在服务器上,npm installgulpgrunt之前运行。gulp运行,您的资产的构建成功完成,您的应用程序的新版本现在正在运行。

您不知道,昨天发布了该依赖项的1.0.1版本。无论出于什么原因,1.0.1引入了一项改变,破坏了应用程序的功能。这一重大变化现在已在生产中在您的站点上运行.

即使您能够保证从服务器上从npm install中提取的所有依赖项都将反映您在本地/在暂存过程中的情况,在服务器上维护另一组软件(node.js、ruby等)也会让人头疼.仅仅是为了编译资产,应该足以阻止您在生产中进行编译。

IMO,您应该将编译好的资产保留在VCS之外,并将它们作为部署的一部分与服务器进行rsync。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29545471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档