4

所以这是我们的问题:

我们有一个小型开发团队,他们有自己的做事方式——我正在尝试制定一个流程,在该流程中,我们需要按以下顺序推广我们的代码:

本地沙箱 > 开发 > UAT > 暂存 > 实时

开发人员在他们自己的沙箱上进行开发/测试,Dev 是它自己的盒子,我们将用于持续集成,UAT 是开发盒上 IIS 中的另一个站点,它使用我们的开发数据库。然后我们升级到 staging,它是 IIS 中 Live box 上的一个站点,并使用实时数据(就像 live,因此是 staging)。然后,最后,我们促进生活。

以下是我的几个问题:

1.)这似乎是最佳实践吗?如果没有,需要做些什么不同的事情?

2.) 我如何对开发人员执行规则?开发人员通常会跳过步骤以节省时间……这是不能容忍的,如果可以在物理上强制执行,那就太好了。

3.) 我如何对业务组执行这些规则?业务组只想快速推出功能。我们只在特定的日子推广吗?

4

3 回答 3

3

听起来对我来说是一个很好的设置......我们没有我工作的地方。我们有 DEV > QA > Production。

1)我不确定什么是“最佳实践”,但你的设置对我来说似乎是一个很好的实践。我唯一关心的是沙盒环境。是否可以保证每天备份开发人员的代码?以防他们的机器严重崩溃?我不想失去好的开发代码。

2)我们这里有一个“发布协调员”,他强制访问 Sourcesafe 和 TFS,并控制对 QA 环境的访问,因此它们只有在特定时间可用。

3) 业务测试人员也是如此,只是他们的权限来自项目经理。PM 有一个文档,每个项目都填写,并指定了测试团队。

我们只在某些日子(每隔一个星期四)进行促销。但是,我们确实知道可能会出现紧急情况,并且我们会在需要时在休息日进行生产发布,但是这些紧急情况会在事后记录下来并进行分析,以查看哪里出了问题以及我们可以在哪里进行改进。

我想说,只要您的环境受到控制并记录在案,您就应该没问题。最好确保在沙盒区域中备份所有内容,并且一小群人控制对其他环境的访问。我还建议您保留有关“安全”环境来来往往的良好文档,以防万一出现问题,您可以回溯日志并查看可能发生的事情或可能发生的事情,不一定要指责但要回去说“你到底上传/更改了什么?” 所以我们可以看到可能导致问题的原因。

祝你好运,

于 2010-03-08T14:43:23.400 回答
2

斯科特已经回答得很好,所以我不会重复他的逻辑。他似乎错过的是:

我如何对业务组执行这些规则?

问题是,不能对业务组执行任何操作。只有他们的经理可以。

您(作为 IT)可以做的是与业务方经理会面,并制定成本/收益分析。

  • 最坏情况错误
  • 如果没有适当的过程,该错误的可能性
  • 这种错误的公司成本。

理想情况下,该错误将是过去实际发生的事情,而不是理论上的事情:)

然后将其与拥有适当流程和相关减速的相对微不足道的成本(只是做一些估计,希望与业务用户的输入)进行比较。

基本上,您需要他们的支持,以说服他们不要偷工减料符合他们的利益。

于 2010-03-08T14:49:30.620 回答
0

我们在我的商店有类似的设置。我们通过使用不同的物理机器以及谁可以通过密码等来强制执行此操作。我在自己的 VPC 上本地开发,然后签入代码。就我而言,这就是它的结尾。另一个人可以根据需要访问他运行构建的开发框,他无权访问“实时”框,另一个人可以。此人可以访问“开发”框和“实时”框——这样他可以在需要时进行紧急部署等。一旦构建进入开发并经过测试,然后,并且只有这样,才完成“实时”构建。

于 2010-03-08T14:47:52.017 回答