这主要是一个沟通问题,但是您可以通过一些简单的技术和组织措施来减少出错的可能性。首先,您应该为配置文件中的所有条目提供高质量的高质量文档,以及一些易于访问的示例或“默认”配置文件。该示例文件可以自动部署到每个环境,因为生产团队不打算直接对其进行更改。
接下来,对于每个新版本,提供一个变更日志,其中记录了重要的变更。可能会在缺少配置时使系统无法正常工作的配置更改始终非常重要,因此请确保信息在那里。
例如,假设开发团队在其环境中向application.properties添加了一些键值对。记录这些新密钥的最佳方法是什么,以便在运维团队中进行部署时,他们确切地知道要添加哪些密钥,从而将启动新服务并由于缺少密钥而看到新服务失败的风险降到最低?
降低失败风险的最佳方法是避免以需要新密钥的方式更改应用程序,因此,应用程序应尽可能与旧的配置文件向后兼容。通常,您的应用程序可以通过为新键提供内置的默认值(以防丢失)来以明智的方式运行。
但是,如果这不可能,则您的系统应该使产品团队尽可能容易地找出为什么缺少密钥时新服务无法启动的原因。应该有清晰的错误消息,准确告诉哪个文件中缺少哪个键,并且在必要时可以在哪里找到有关丢失键的信息,或者有关该键有意义条目的提示或示例。
如果配置复杂,并且格式更改会导致手动编辑容易出错的方式,则您可能还会考虑提供工具来编辑配置和移植到较新的版本。
例如,我正在使用Firefox Web浏览器,并且在每个新发行版(我会自动获得)中,都可以在“ about:config”页面上检查某些内容到本地配置中。这与“生产”环境中的配置相当。由于整个配置都严格保持向后兼容,因此我不必再为配置添加新的密钥,而只是因为有一个新版本的浏览器。对于这种情况,我想在那里进行更改(可能是一个新条目,而不是先前版本的一部分),我可以使用“工具/选项”菜单或“ about:config”页面,可以找到该条目以及一些内容。种类的文档。因此,我建议尝试以可比的方式实施您的系统。