Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

如何让nacos中的配置文件和代码一起使用git维护哪? #5116

Closed
missfmaster opened this issue Mar 16, 2021 · 5 comments
Closed
Labels
status/invalid This doesn't seem right

Comments

@missfmaster
Copy link

nacos用了一段时间了,有一个很蛋疼的问题:
nacos中的配置文件位于nacos的数据库中,当有新人加入项目组,clone完代码之后,还得想办法去获取nacos的配置文件,因为他要从他本地启动项目+nacos,所以必须有一份完整的配置文件
然后当他从本地添加了某些配置之后,发布到测试环境时,有时会因为某些原因遗漏掉这些配置(可能是忙忘了);
所以能不能提出一种解决方案,使得当clone代码的时候,可以同时获取到配置文件,且不需要手动同步本地和服务器上的差异?

我觉得一种可行方案是,将配置文件提交到git仓库,使用git仓库的多分支、多版本、多人协作的特性管理配置文件,然后让nacos从指定git仓库、指定分支拉取配置文件,从而代替现在的使用mysql管理配置文件,不知可否实现?

@KomachiSion
Copy link
Collaborator

有导入导出配置的功能。

@KomachiSion KomachiSion added the status/invalid This doesn't seem right label Mar 17, 2021
@missfmaster
Copy link
Author

可能是我没介绍清楚,但是这个导入导出功能并不能完全满足。

试想一个场景:
clone完代码后,从nacos通过导出功能,获取到一份配置文件的副本,然后导入本地,进行开发工作;
开发时,将此配置文件副本做了一些修改;
当代码开发完成后,将代码合并到git,这时触发了自动化部署,但是因为配置文件并未自动更新到nacos,所以导致自动化部署失败
这时,只能通过手动更新nacos中的配置文件,然后再手动触发自动化部署,服务才能启动。
或者,只能关闭自动化部署,当合并完代码,再手动更新nacos,最后再手动触发部署...

我的意思是:上边手动更新nacos配置文件的方式,能否升级为自动更新?从而实现完全自动化部署。
比如使用 Spring Cloud Config 的native时,将代码和配置文件一起合并到git,自动化部署会重启config和业务微服务,完全自动化,无需手动干预。

@binbin0325
Copy link
Collaborator

binbin0325 commented Mar 18, 2021

@missfmaster 你也可以考虑将配置独立存储到git仓库,利用git hook,jenkins等完成配置自动化推送到nacos.

@KomachiSion
Copy link
Collaborator

你这属于定制化需求,正常来说,开发环境使用的配置和线上运行不一致,并且要分开配置,并且这些配置不会通过git等方式进行同步,而是通过配置中心进行更新下发,如果你需要同步git到nacos等配置中心,需要自己想办法实现了。

@missfmaster
Copy link
Author

@sanxun0325 谢谢提供的思路,我觉得可以尝试下。
@KomachiSion 好的,我研究下。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status/invalid This doesn't seem right
Projects
None yet
Development

No branches or pull requests

3 participants