# spring-cloud-template
**Repository Path**: yuan_code/spring-cloud-template
## Basic Information
- **Project Name**: spring-cloud-template
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2020-05-01
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 配置文件
默认Spring Boot应用配置文件位置为:
`spring.config.location=classpath:/,classpath:/config/,file:./,file:./config/`
### 配置文件加载顺序
1. `file:./config/`: 项目根路径下的config文件夹
2. `file:./`: 项目根路径下的application.yml(.properties)文件
3. `classpath:./config/`: 项目根路径下的config文件夹
4. `classpath:/`: 项目根路径下的config文件夹
>可以使用`spring.config.additional-location`添加额外的配置文件位置。
>此属性指定的配置文件加载顺序最高,优先级最低。
### 配置文件优先级
1. `classpath:/`
2. `classpath:./config/`
3. `file:./`
4. `file:./config/`
> 同名配置文件优先级:`.properties` > `.yml`
### 远程配置文件优先级
`远程配置` > `本地配置` > `bootstrap.yml`
`spring.cloud.config.allowOverride`
允许本地配置文件或系统属性覆盖远程配置(在本地设置此属性无效)。设置该标志后,将使用两个更细粒度的设置来控制。
1. `spring.cloud.config.overrideNone` 从任何位置的本地属性覆盖远程配置。
2. `spring.cloud.config.overrideSystemProperties` 仅使用系统属性、命令行参数、环境变量覆盖远程配置。
## 熔断配置
## OAuth2配置
## Docker镜像打包、推送
### 编写Dockerfile
在模块根目录下编写`Dockerfile`文件,示例:
```dockerfile
FROM java:8-alpine
ARG JAR_FILE
ADD target/${JAR_FILE} /tmp/app.jar
ENTRYPOINT ["java","-jar","/tmp/app.jar"]
```
### 配置 `dockerfile-maven-plugin`
1. 基础配置
默认的构建阶段是:
- `mvn package`时`build image`
- `mvn deploy`时`push image`。
```xml
com.spotify
dockerfile-maven-plugin
1.4.13
${docker.repository}/${project.artifactId}
${project.version}
true
${project.build.finalName}.jar
```
2. 配置构建阶段
可通过 `` 修改默认的构建阶段:
```xml
com.spotify
dockerfile-maven-plugin
1.4.13
default
package
build
push
${docker.repository}/${project.artifactId}
${project.version}
true
${project.build.finalName}.jar
```
3. 配置环境变量
插件内置Docker Client,默认连接位于'tcp://localhost:80'上的Docker Daemon。
需通过环境变量修改默认连接地址。
```shell
$ export DOCKER_HOST=tcp://localhost:2375
```
4. 配置仓库账号密码
在maven`setting.xml`的``标签中添加:
```xml
docker.io
admin
******
```
> 可能出现的问题:
> - [ERROR] denied: requested access to the resource is denied;
> 原因:账号密码错误、无权访问仓库、仓库路径错误等
> - [WARNING] Did not find maven server configuration for docker
> server docker.io
> 原因:仓库域名与``标签的id不匹配,或不存在。