场景说明:
原来192.168.1.223是我本地的测试机,原来192.168.1.222是我本地的正式机
现在正式系统上云后,222这台正式机就是留着Jenkins环境打包正式环境,上传云的。
近期一次上线打包223测试环境都正常,但是222这个正式机环境怎么都是失败。
后来突然发现,其实直接在223这个测试机的Jenkins上 配置个正式环境上线打包的分支就好了,
根本用不上222这台机器。而且最后发现222这台正式机打包也是莫名的问题,Jenkins分支叫跟云上路径一样的weifuwu,就打包不成功,随笔改其他名字如weifuwu2就打包正常,不知道啥问题。
前因说完了,再说后果我把前后端正式机的打包,都放到了223这个测试机的Jenkins上,222这个机器没用了,我准备用222这个机器再同步做个测试机,与223用不同的数据库。
想完成这个目标就需要玩转 前后端、正式机测试机、数据库的设置关系:
1、目前223的jenkins配置
各Jenkins分支配置的不同点:
2、223正式机前端,是要打包后 部署到云服务器上的,拉去git上的主分支,代码中的配置文件为.env.production,这个文件中配置的后端接口IP地址指向云服务器,打包后不要放到html默认目录下。以免覆盖测试机前端打包文件,放到htmlshangxian文件夹,到时ftp上传到云服务器上。昨天测试机一直链接的正式库的问题,就是223这里的html文件夹,被正式机前端打包覆盖了,导致的错误。
具体配置如下图:
3、223测试机 后端,拉取用git上的test分支。用后端的test配置文件,文件中 配置的是nacos的ip地址信息。nacos的mysql.yml文件中配置了数据库的地址信息,详情见下图:
4、223正式机 后端,拉取用git上的master分支。用后端的prod配置文件,文件中 配置的是nacos的ip地址信息指向的是云服务器。nacos的mysql.yml文件中配置了数据库的地址信息。另外正式机只需再Jenkins中打包,不需要执行启动jar包,后续将打好的jar包上传到阿里云服务器中,再云上启动jar包 详情见下图:
4、222这台机器也想作为另一台测试机,正式机部署用不上和223完全一样,仅是做个备份。
测试机,前端配置文件要指向222这台机器的后端,使用.env.test这个配置文件,前端配置文件添加方式是在package.json中配置。如下图:
222上测试机的后端配置文件,参照原方式添加但是不生效,打包成功但jar包启动不起来。所以采用变通方式
222也用原来223上的test配置文件,naocs的ip地址也指向223,与223用同一个mysql.yml配置文件,但是ip地址写成 127.0.0.1.这样222也是访问本机的mysql数据库,实现了两台测试机使用不同的数据库。但因为使用的是同一个nacaos上的同一个配置文件,所以数据库密码要完全一样才行。