集成服务器的目的是什么?
What's the purpose of an integration server?
我是 DevOps 的新手,所以请原谅我这是否微不足道,但是考虑到以下工作流,集成服务器的目的是什么?
我已获得以下步骤,作为我所在组织的 DevOps 方法示例:
- 开发人员签入对源代码管理 (TFS) 的更改。
- 构建服务器检查更改。
- 构建的工件被部署到一个 "integration server" 上,上面有我们的 ERP 副本。
- 发布管理应用程序从该 ERP 环境中获取输出,并将其移动到测试、预生产和生产环境中。
这种方法是否正确,如果是这样,集成服务器的目的是否仅仅是提供代码的工作实现,除了将代码移动到其他服务器之外,无法通过任何方式访问它?
我的回答是对您的环境中发生的情况做出一些假设。
当您使用 AX 检入对源代码管理的更改时,它会添加 code/objects 的 *.xpo
个文本文件,这些文件只是您的更改。
听起来您的 "integration server" 是一个 build/staging 服务器。想象一下这两种情况:
您有一个包含 3 个对象的自定义项,您将其中 2 个对象添加到源代码管理并忘记了一个。当您在集成服务器上构建时,它可能会出现编译错误,因为缺少依赖对象。
在您的开发环境中,您创建的测试表单和作业基本上是您正在试验的垃圾。您不会将这些对象添加到源代码管理中。您不希望将此代码部署到您的其他环境,因此集成环境确保代码严格来自存储库。
针对集成进行全面 compiles/syncs 也有助于发现问题。然后您可以将整个环境部署到您的其他环境。
要认识到的重要一点是,您的存储库实际上只是您对基本 (sys/syp) 代码的更改。因此,integration/build 过程的一部分是您的代码和基本代码的组合。
我是 DevOps 的新手,所以请原谅我这是否微不足道,但是考虑到以下工作流,集成服务器的目的是什么?
我已获得以下步骤,作为我所在组织的 DevOps 方法示例:
- 开发人员签入对源代码管理 (TFS) 的更改。
- 构建服务器检查更改。
- 构建的工件被部署到一个 "integration server" 上,上面有我们的 ERP 副本。
- 发布管理应用程序从该 ERP 环境中获取输出,并将其移动到测试、预生产和生产环境中。
这种方法是否正确,如果是这样,集成服务器的目的是否仅仅是提供代码的工作实现,除了将代码移动到其他服务器之外,无法通过任何方式访问它?
我的回答是对您的环境中发生的情况做出一些假设。
当您使用 AX 检入对源代码管理的更改时,它会添加 code/objects 的 *.xpo
个文本文件,这些文件只是您的更改。
听起来您的 "integration server" 是一个 build/staging 服务器。想象一下这两种情况:
您有一个包含 3 个对象的自定义项,您将其中 2 个对象添加到源代码管理并忘记了一个。当您在集成服务器上构建时,它可能会出现编译错误,因为缺少依赖对象。
在您的开发环境中,您创建的测试表单和作业基本上是您正在试验的垃圾。您不会将这些对象添加到源代码管理中。您不希望将此代码部署到您的其他环境,因此集成环境确保代码严格来自存储库。
针对集成进行全面 compiles/syncs 也有助于发现问题。然后您可以将整个环境部署到您的其他环境。
要认识到的重要一点是,您的存储库实际上只是您对基本 (sys/syp) 代码的更改。因此,integration/build 过程的一部分是您的代码和基本代码的组合。