SpringBoot第七天 Spring cloud config服务的搭建 SSH方式搭建

当前环境是JDK1.8,Springboot采用的是2.0.6版本。采用GIT存储配置文件。在GIT中的文件名以几种格式(重要,如果文件名不对是取不到文件的):

1、{application}/{profile}[/[label]]

2、{application}-{profile}.yml

3、{application}-{profile}.properties

4、{label}/{application}-{profile}.yml

5、{label}/{application}-{profile}.properties

我这里定义的文件名为dev-b.properties,访问路径为ssh://root@10.115.132.12:/data/git/config.git。由于是我自己在Linux系统上搭建的一个简单的GIT服务,并没有设置APACHE访问,因此需要通过SSH进行访问。

下一步开始搭建CONFIG服务

首先修改pom.xml文件,增加spring-cloud-config-server依赖,代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.example</groupId>
	<artifactId>springboot-config</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>springboot-config</name>
	<description>Demo project for Spring Boot</description>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.6.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
		<spring-cloud.version>Finchley.SR1</spring-cloud.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-config-server</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>${spring-cloud.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>


</project>

注意:由于我采用的是GIT,所以配置比较少,如果需要有SVN进行管理的话,则需要加入SVN的相关依赖:

		<dependency>
			<groupId>org.tmatesoft.svnkit</groupId>
			<artifactId>svnkit</artifactId>
		</dependency>

pom.xml修改完成后,修改application.properties文件,在文件中加入config相关配置,代码如下:

server.port=2345
spring.cloud.config.enabled=true
spring.cloud.config.server.git.uri=ssh://root@10.115.132.12:/data/git/config.git
spring.cloud.config.server.git.username=root
spring.cloud.config.server.git.password=111111

 另外,如果用户非系统用户,如通过git用户创建的git服务,则可以进行如下配置,大概可以根据实际情况选择配置:

server.port=10000
spring.cloud.config.enabled=true
spring.cloud.config.server.git.uri=git@10.115.132.12:/home/git/cloud.git
spring.cloud.config.server.git.username=git
spring.cloud.config.server.git.password=111111

注意:如果采用SVN进行文件管理需要增加spring.profiles.active=subversion的配置信息,如:

server.port=2345
spring.profiles.active=subversion
spring.cloud.config.enabled=true
spring.cloud.config.server.svn.uri=https://localhost/svn
spring.cloud.config.server.svn.username=abc
spring.cloud.config.server.svn.password=abc

注意:如果采用本地的文件进行配置,增加增加spring.profiles.active=native的配置信息,如:

spring.profiles.active=native
spring.cloud.config.server.native.search-locations=F:/git/cloud/

最后在启动类加入启用配置服务功能注解,代码如下:

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;

@SpringBootApplication
@EnableConfigServer
public class SpringbootConfigApplication {

	public static void main(String[] args) {
		SpringApplication.run(SpringbootConfigApplication.class, args);
	}
}

然后启动服务,通过访问http://localhost:2345/dev-b.properties来查询是还是配置成功,文件读取是否正常。

注意:当通过native本地化进行管理配置文件时,如果本地文件夹下面有一个application-dev.yml,所有config客户端会默认读取这个文件,用这个文件的配置信息,建议不用要用这个名称。如果有某些共用配置时,可以考虑用这个文件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值