Spring cloud config 用SVN做配置仓库

很多企业还没使用Git仓库来管理代码,而是使用SVN。在Spring cloud 实现配置管理的时候,就需要另外配置,跟官方Sample 有点区别。

接下来操作步骤有:

1.创建SVN 配置repo

2.开发服务端

3.开发客户端

4.刷新客户端

话不多说,上干货。

1. 创建SVN 配置repo

目录结果如下: 文件名称,暂时不纠结,往后看(MARK)。

cloud-config-test.properties 内容:

payment.username=test_update_Angus_zhu_1
current=test

cloud-config-stg.properties 内容:

payment.username=Angus_stg

cloud-config-prd.properties 内容:

payment.username=Angus_prd

2. 开发服务端:

服务端项目结果如下:

a. 创建gradle 工程

build.gradle 如下:

import java.text.SimpleDateFormat

group ‘com.sinosafe‘
version ‘1.0-SNAPSHOT‘

buildscript {
    ext {
        springBootVersion = ‘1.5.2.RELEASE‘
    }
    repositories {
        jcenter {url ‘http://jcenter.bintray.com/‘}
        mavenLocal()
        mavenCentral()
    }
    dependencies {
        classpath "org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion"
        classpath ‘org.springframework:springloaded:1.2.4.RELEASE‘
        classpath ‘org.hidetake:gradle-ssh-plugin:2.0.0‘
        classpath "io.spring.gradle:dependency-management-plugin:0.5.6.RELEASE"
    }
}

apply plugin: ‘java‘
apply plugin: ‘maven‘
apply plugin: ‘idea‘
apply plugin: ‘org.springframework.boot‘
apply plugin: ‘war‘
apply plugin: ‘application‘
apply plugin: ‘org.hidetake.ssh‘
apply plugin: "io.spring.dependency-management"

def env = System.getProperty("env") ?: "prd"

sourceSets {
    main {
        resources {
            srcDirs = ["src/main/resources","src/main/profile/$env"]
        }
    }
}

def date = new SimpleDateFormat("yyyy-MM-dd").format(new Date())
jar {
    baseName = "config-$env"
    version = ‘1.0-RELEASE‘

}
war {
    baseName = "config-$env"
    version = ‘1.0-RELEASE‘
}

repositories {
//    maven{ url ‘http://maven.aliyun.com/nexus/content/groups/public‘}

    mavenLocal()
    mavenCentral()

}

distZip {
    archiveName "$baseName-$version-$date-$env-RELEASE.zip"
}

dependencyManagement {
    imports {
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:Camden.SR5"
    }
}
dependencies {
    compile "org.springframework.boot:spring-boot-starter-web:$springBootVersion"
    compile ‘org.springframework.cloud:spring-cloud-starter-config‘
    compile ‘org.springframework.cloud:spring-cloud-config-server‘
    compile ‘org.tmatesoft.svnkit:svnkit‘
}

springBoot {
    mainClass = "com.sinosafe.config.BaseApplication"
}

b. application.properties 配置文件

server.port = 8001
server.sessionTimeout=15
server.tomcat.max-threads = 800
server.tomcat.uri-encoding = UTF-8

#应用名称
spring.application.name=configServer
#spring.cloud.config.server.git.uri=${HOME}/Desktop/config
#指定配置中心使用svn管理
spring.profiles.active=subversion
#http-mutil    微服务svn配置中心
spring.cloud.config.server.svn.uri=http://svn.sinosafe.com.cn:1580/svn/config-center
#svn repo 可访问的用户名密码
spring.cloud.config.server.svn.username=jenkins
spring.cloud.config.server.svn.password=jenkins

spring.cloud.config.server.default-label=trunk

spring.cloud.config.enabled=true
#无需安全认证
management.security.enabled=false
#配置中心应用名
spring.cloud.config.name=cloud-config
#指定配置生效环境  
spring.cloud.config.profile=test

说明:回到 步骤1.MARK 处,发现文件命名规则其实是:

{{spring.cloud.config.name}}-{{spring.cloud.config.profile}};即客户端生效读到的

cloud-config-test.properties;

c. 启动工程

-Denv 是指定取profile下面test目录下面的文件作为生效配置

d.启动后,查看不同环境下配置的参数

stg环境:

test 环境

刷新配置,查看版本

时间: 2024-11-07 02:46:03

Spring cloud config 用SVN做配置仓库的相关文章

第八章 分布式配置中心:Spring Cloud Config

Spring Cloud Config 是 Spring Cloud 团队创建的一个全新项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持, 它分为服务端与客户端两个部分. 其中服务端也称为分布式配置中心, 它是一个独立的微服务应用, 用来连接配置仓库并为客户端提供获取配置信息. 加密/解密信息等访问接口:而客户端则是微服务架构中的各个微服务应用或基础设施, 它们通过指定的配置中心来管理应用资源与业务相关的配置内容,并在启动的时候从配置中心获取和加载配置信息. Spring

微服务SpringCloud之Spring Cloud Config配置中心SVN

在回来的路上看到一个个的都抱着花,吃了一路的狗粮,原本想着去旁边的工业园里跑跑步呢,想想还是算了,人家过七夕,俺们过巴西.上一博客学习了Spring Cloud Config使用git作为配置中心,本篇学习下使用svn作为配置中心. 一.Server 端 1.准备配置文件 这里在本地电脑安装了下svn server,并在https://cuiyw/svn/config-repo/config目录下提交了上一博客的3个配置文件. 2.创建Spring Cloud Config SVN  Serve

Spring Cloud Config分布式配置中心的使用和遇到的坑

分布式配置中心 为什么要有用分布式配置中心这玩意儿?现在这微服务大军已经覆盖了各种大小型企业,每个服务的粒度相对较小,因此系统中会出现大量的服务,每个服务都要有自己都一些配置信息,或者相同的配置信息,可能不同环境每个服务也有单独的一套配置,这种情况配置文件数量比较庞大,维护起来相当费劲,举个栗子: 在开发的过程中,一般数据库是开发环境数据库,所有服务DB的IP配置为:92.168.0.1,突然老大说,开发环境换了,DB的IP要修改,这下可不好受了,所有模块挨个修改DB的配置,就问你难受不难受?

Spring Cloud(八)高可用的分布式配置中心 Spring Cloud Config

在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件.在Spring Cloud中,有分布式配置中心组件spring cloud config,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中.在spring cloud config 组件中,分两个角色,一是config server,二是config client,业界也有些知名的同类开源产品,比如百度的disconf. 相比较同类产品,SpringCloudConfig

【Spring Cloud】Spring Cloud Config 实现分布式配置中心

Spring Cloud Config 实现分布式配置中心 一.分布式配置中心 分布式系统中,往往拥有大量的服务应用,而每个应用程序都需要有对应的配置文件来协助完成服务环境初始化.运行.因此生产了大量的服务配置文件,Spring Cloud Config 可以实现配置文件的统一管理,它支持将配置服务放置在服务端的内存中(即服务端的本地内存),并且它也默认支持 git,所以我们也可将配置文件放置在 git 仓库,以便于我们的访问和开发. 二.Spring Cloud Config 起步 实现管理配

Spring Cloud Config 分布式配置中心使用教程

一.简介 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件.在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中.在spring cloud config 组件中,分两个角色,一是config server,二是config client. 二.构建Config Server 创建一个spring-boot项目,取名为config-s

业余草 SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)(Finchley版本)

在上一篇文章讲述zuul的时候,已经提到过,使用配置服务来保存各个服务的配置文件.它就是Spring Cloud Config. 一.简介 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件.在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中.在spring cloud config 组件中,分两个角色,一是config server

史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)(Finchley版本)

在上一篇文章讲述zuul的时候,已经提到过,使用配置服务来保存各个服务的配置文件.它就是Spring Cloud Config. 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件.在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中.在spring cloud config 组件中,分两个角色,一是config server,二是co

企业级 SpringCloud +SpringBoot(六) 分布式配置中心(Spring Cloud Config)

一.简介 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件.在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中.在spring cloud config 组件中,分两个角色,一是config server,二是config client. 二.构建Config Server 创建一个spring-boot项目,取名为config-s