1

假设我在本地构建代码,然后部署二进制文件。在这种情况下,我知道服务器上的二进制文件是从正确的源编译的。

所以可以说我在本地构建我的代码并且它可以工作,所以我将代码推送到源代码控制。CI 服务器检测到更改,检查源代码并成功重新编译并实时推送二进制文件。

所以这两个过程的开始和结束是一样的。但第二个有更多的错误空间。例如,我对源代码管理的提交可能有错误。我可能无法提交所有更改的文件,但源代码可能仍然可以编译。

如何确定源代码管理中的源代码与我在本地的源代码相同?

4

1 回答 1

0

第一件事是:如果你使用 CI 服务器,你永远不应该手动部署任何东西来测试、预览或生产服务器。

通常,我在 CI 服务器上有一个构建配置,其中包含许多步骤,例如:

  1. 汇编
  2. 静态代码分析(如 FxCop、PMD 等)。
  3. 单元测试(nunit、junit 等)。
  4. 部署到测试服务器。许多 Web 技术人员都有简单的方法来执行此步骤,例如 Web Deploy for ASP .NET 站点。此站点版本将用作接下来 2 个步骤的目标。
  5. 功能测试(硒、sikuli 等)。
  6. 性能测试。对于网站和网络 API,我们使用JMeter
  7. 打包最终的工件。也许需要生成一个安装程序,也许只是带有部署文件的 .zip 文件。

通过所有步骤(您应该在步骤 3 中具有良好的代码覆盖率并在步骤 4 中具有良好的用户案例测试),您可以更有信心将步骤 7 生成的最终文件部署到生产服务器。

于 2013-05-23T10:23:06.180 回答