搭建Spring Cloud Config Server
基于文件系统(File System)
创建本地仓库
一. 激活应用配置服务器
在引导类上标注@EnableConfigServer
package com.example.springcloudlesson3;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;@SpringBootApplication
@EnableConfigServer
public class SpringCloudLesson3Application {public static void main(String[] args) {SpringApplication.run(SpringCloudLesson3Application.class, args);}}
二. 创建本地目录
理解java中的${user.dir}
user.dir当前项目路径
在IDEA中
src/main/resources
目录下,创建一个名为“configs”文件,它的绝对路径:
${user.dir}/src/main/resources/configs
三. 配置本地仓库URI
##配置服务器文件系统Git仓库
##${user.dir}减少平台文件系统的不一致
spring.cloud.config.server.git.uri=${user.dir}/src/main/resources/configs
四.给应用“segmentfault”创建三个环境的配置文件
五. 初始化本地git仓库
1.git init
2.git add .
3.git commit -m "First commit"
效果
测试配置服务器
通过浏览器测试应用为“segmentfault”,Profile为“test”的配置内容访问:http://localhost:9090/segmentfault/test
请注意:当指定了profile时,默认的profile(不指定)配置信息也会输出:
上面这个部分
基于远程git仓库
一. 激活应用配置服务器
在引导类上标注@EnableConfigServer
二.配置远程仓库Git仓库地址
##配置远程github仓库
spring.cloud.config.server.git.uri=https://github.com/shuaiyev5/tmp
三.本地clone远程git 仓库
四. 给应用“segmentfault”创建三个环境变量的配置文件
五.提交到远程仓库
git add segmentfault*.properties
git commit -m "Add config"
git remote add origin git@github.com:shuaiyev5/tmp.git
git push -u origin master
博主在提交远程仓库的时候遇到了github的key的问题导致提交失败
下面是解决方法!!!
1.首先,如果你没有ssh key的话,在ternimal下输入命令:ssh-keygen -t rsa -C "youremail@example.com", youremail@example.com改为自己的邮箱即可,途中会让你输入密码啥的,不需要管,一路回车即可,会生成你的ssh key。(如果重新生成的话会覆盖之前的ssh key。)2.然后再ternimal下执行命令:ssh -v git@github.com 最后两句会出现:No more authentication methods to try. Permission denied (publickey).3.这时候再在ternimal下输入:ssh-agent -s然后会提示类似的信息:SSH_AUTH_SOCK=/tmp/ssh-GTpABX1a05qH/agent.404; export SSH_AUTH_SOCK; SSH_AGENT_PID=13144; export SSH_AGENT_PID; echo Agent pid 13144;4.接着再输入:ssh-add ~/.ssh/id_rsa这时候应该会提示:Identity added: ...(这里是一些ssh key文件路径的信息)(注意)如果出现错误提示:Could not open a connection to your authentication agent.请执行命令:eval `ssh-agent -s`后继续执行命令 ssh-add ~/.ssh/id_rsa,这时候一般没问题啦。5.打开你刚刚生成的id_rsa.pub,将里面的内容复制,进入你的github账号,在settings下,SSH and GPG keys下new SSH key,title随便取一个名字,然后将id_rsa.pub里的内容复制到Key中,完成后Add SSH Key。6.最后一步,验证Key在ternimal下输入命令:ssh -T git@github.com提示:Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.这时候你的问题就解决啦,可以使用命令 git clone --recursive git@github.com:peiyunh/tiny.git 去下载你的代码啦。
六.配置强制拉取内容
##配置强制拉取git内容
spring.cloud.config.server.git.force-pull=true
Spring Cloud Config Client
Spring Cloud 配置客户端提供连接Spring Cloud配置端,并且获取订阅的配置信息。
配置Spring Cloud配置客户端
- 创建bootstrap.yml或者bootstrap.properties
- 配置spring.cloud.config.*信息