gulp项目部署服务器,关于部署:部署后如何在远程服务器上触发gulp / grunt任务?...

我刚刚切换到Wordpress的Roots Sage入门主题:roots.io/sage/docs/

我目前正在阅读有关部署过程的信息。

我的流程通常是:

- 做出改变

-用咕unt声/大嘴巴建造

-提交(包括编译的脚本)

-部署

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

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

Are you supposed to install node/npm and build the assets on staging/production environment after deploy?

您应该避免这样做。正如您之前说过的那样,关于将已编译资产提交到VCS的观点也各有不同。

让我们看一个例子。

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

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

您不知道,该依赖项的版本1.0.1昨天已发布。出于任何原因,1.0.1引入了一项更改,破坏了应用程序的功能。突破性的更改现在已在您的网站上进行生产。

即使您可以保证从服务器上从npm install提取的所有依赖项都将反映您在本地/暂存中的情况,维护服务器上另一套软件(node.js,ruby等)的麻烦还是编译资产应该足以防止您在生产中进行编译。

IMO,您应该将编译后的资产排除在VCS之外,并在部署过程中将它们重新同步到服务器。

使用npmrinkwrap避免被宽松的版本控制所困扰

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值