我希望避免连接到远程机器来编辑nginx conf文件。
我宁愿从吉特和詹金斯那里控制它。
管理我的nginx配置历史记录的最佳实践是什么,这样我就可以轻松地测试它,并返回角色?
谢谢!
发布于 2016-04-26 11:46:44
您可以创建一个配置卷,并将其挂载到nginx容器中。当您需要更新配置时,只需在卷中替换文件(git、从主机复制文件等),并通过docer将重新加载命令发送到nginx服务。此外,还可以使用nginx配置将(只读)主机目录挂载到容器中。
https://docs.docker.com/engine/userguide/containers/dockervolumes/
发布于 2021-06-04 19:38:00
我喜欢被接受的答案@komex,它很好,但需要您维护一个卷,并且不像问题中所问的那样解决测试生命周期和部署问题。此外,在我们确保文件是正确的和成功的测试之后,应该用文件构建卷。
在这里,我的进化食谱:-
版本控制
必须使用一些单片机,如git。将配置保存在git存储库中。
测试
使用CI/CD并使用docker从nginx构建包含配置文件的映像。您可能希望使用环境变量,而不是硬编码配置中的任何URL,以便在测试设置中指向虚拟值并运行单元测试。您的单元测试可能只是一堆卷曲和预期的响应。经过测试,您可以轻松地销毁此设置。
您的CI确保正确的配置,所有作业运行。
部署
现在您可以构建用于部署的卷。连接/分离你的音量。但是,您是在一个完整的k8s环境中,我只需要从ngnix构建我的映像(就像上面的CI中的Test作业一样),并且部署pod,甚至不麻烦卷或重新加载。
https://stackoverflow.com/questions/36862403
复制相似问题