当我们项目中需要配置 access-key 和 access-id 的时候,如果直接放在 application.yaml 中,在提交到 git 上时 git 会检测到密钥,为了防止密钥泄漏,确保安全,git 会禁止你提交,这个时候我们可以通过以下几种方式做
环境变量永久配置
把密钥加到环境变量中,yaml 文件读取变量值
yaml
aliyun:
access-id: ${ALIYUN_ACCESS_KEY_ID}
access-key: ${ALIYUN_ACCESS_KEY_SECRET}
我这里演示 Mac 怎么配置,如果你是 Windows,加到环境变量里面就可以
bash
vim ~/.zshrc
文件最后加
bash
export ALIYUN_ACCESS_KEY_ID=你的AccessKeyId
export ALIYUN_ACCESS_KEY_SECRET=你的AccessKeySecret
保存后执行
bash
source ~/.zshrc
就可以了
IDEA 环境变量配置
如果你不想放到系统环境变量里面,也可以放到 IDEA 环境变量里面,找到 SpringBoot 启动配置 Environment variables 里面加上
bash
ALIYUN_ACCESS_KEY_ID=你的AccessKeyId;ALIYUN_ACCESS_KEY_SECRET=你的AccessKeySecret
终端临时配置
只对当前终端窗口有效,关掉终端就没了
bash
export ALIYUN_ACCESS_KEY_ID=你的AccessKeyId
export ALIYUN_ACCESS_KEY_SECRET=你的AccessKeySecret
在同一个终端启动项目,我这里是 maven 项目,所以启动项目命令如下
bash
mvn spring-boot:run
或者运行你的 jar 包也可以
bash
java -jar xxx.jar
单独配置文件 不提交
可以专门写一个专用的配置文件,然后 Git 提交时忽略它就可以。比如我写一个 aliyun.yaml 里面就放我的 Key
yaml
aliyun:
access-key-id: 你的AccessKeyId
access-key-secret: 你的AccessKeySecret
然后在 application.yaml 里面引入这个配置
yaml
spring:
config:
import: optional:file:src/main/resources/aliyun.yaml
optional的意思是,如果这个文件不存在,项目也不会直接启动失败
然后在 .gitignore 里加
gitignore
src/main/resources/aliyun.yaml
这样这个真实密钥就不会被 Git 提交了
根据需要自己选择就好