0

我雇主的部分做法是避免在项目存储库中包含 css 文件。由于过去以 CSS 为中心的合并冲突问题,决定只推送 SASS 文件更改,并根据需要重新编译样式表。我们在内部使用 Compass 将 SASS 编译为 CSS。

我想做的是compass compile在成功的git pull事件上执行一次。使用别名似乎很容易做到这一点git pull,但也存在 git 钩子。最后,第三种选择是compass watch作为无限进程运行。

最后一个似乎是资源浪费,因为生产服务器最多每周更新一次。那么在compass compile成功 git pull 之后执行事件的最佳实践是什么?如何完成?

4

1 回答 1

0

如果您的生产服务器从远程存储库中提取,您可能希望将脚本放在post-merge客户端挂钩中。

如果您的工作流程将更改推送到生产服务器,那么您需要post-receive挂钩。

对于具有构建阶段的项目,您可能不应该使用钩子,因为您将从 git 存储库(源树)构建到不同的位置(目标树),而不是提交给 git。编译 CSS 文件的方式与编译 java 文件的方式相同。你应该有一个构建步骤,在你的 pom、ant 脚本或任何你用来管理每个项目构建的工具中,它负责所有工件的生产。

于 2014-05-07T20:36:51.000 回答