部署复杂的变更

有时我们需要对互联网站点进行相当复杂的调整,这需要调整数据源(新的或更改的表)以及充满活力的资源代码(例如PHP或ColdFusion)。 计划并最快发布这些调整的最有效方法是什么,而不会损害实时互联网网站上的每一件小事?

0
2019-05-07 10:45:20
资源 分享
答案: 3

我通常做(对于LAMP设计网站):

  1. 指定您的调整 之后写一份手稿来使用它们(我使用Makefile)。
  2. 检查 您对代表实际设置的信息示例的调整
  3. 测试 再一次看到它
  4. 给自己一个逃脱 ,有能力回滚

如果您正在运行集合,那么您可能会对网站状态,缓存等产生更大的挫败感。

0
2019-05-09 04:28:07
资源

为了获得“回滚能力”,我实际上建议您熟悉(好)混帐善变 (分布式版本控制系统)

您需要在级别文档中与资源代码协作的日子多于(目前您需要在级别文档中与其协作,但实际上有持久的调整控制系统跟踪它们)。

0
2019-05-09 04:04:27
资源

简短的解决方案:它是后方的痛苦!

我实际上需要多次这样做(而且每次都让我打算在下一个任务中考虑我的布局)。 我所做的是将代码库分叉到一个开发区域(或文件夹,或Web服务器等),以确保我可以独立使用它,以便在重新定位到发布之前查看所有有害生物。 之后我创建了一个SQL手稿,它始终具有相同的前两行:

DELETE IF EXISTS newDatabaseName;
CREATE DATABASE newDatabaseName;

这肯定会确保手稿将所有小东西都放入一个完全新鲜且空置的数据源中。 手稿的其余部分肯定会重新创建我从旧数据源回收到新数据源的所有表格。 之后,我肯定会在新数据源中创建新的(或更改的)表。 最终,我肯定会将所有信息从实时Web服务器重新定位到增长型Web服务器。 这可能需要很长一段时间依赖于您要重新定位的信息量,以及您可以多快地重新定位,所以我建议您仔细考虑手稿,因为您不得不小心操作它,好多了。

在我拥有新的增长数据源并运行之后,剩下的就是创建新的代码来使用它。 一旦讨论了这个问题,那么在发布之后需要相当容易(尽管可能很耗时)。 仅使用相同的手稿将所有新的实时信息复制到发布Web服务器上的新数据源,并在那里复制所有新代码,您也完成了!

这就是我的工作方式,同时也是一种不适,它确实起作用。 如果有更好的手段,我当然会喜欢注意。

更新: 在对Tchalvak的评论的反馈中,是的,我通常会使用遵守法来获得所有表格解释,而不需要他们的真实信息:

mysqldump --databases --no-data databaseName > newScript.sql

我肯定会在此之后修改这个手稿。

0
2019-05-09 02:33:35
资源