前言
spring config使用的JGIT操作的Git
- 如果配置文件使用properties格式文件设置如下,每行设置\n
spring.cloud.config.server.git.uri=git@xxx
spring.cloud.config.server.git.strict-host-key-checking=true
spring.cloud.config.server.git.privateKey= -----BEGIN RSA PRIVATE KEY-----\n
---- key content --\n
-----key content --\n
-----END RSA PRIVATE KEY-----
- 如果使用的是yml格式文件,设置如下
spring:
application:
name: test
cloud:
config:
server:
git:
uri: git@xxxx.git
ignore-local-ssh-settings: true
private-key: |
-----BEGIN RSA PRIVATE KEY-----
XXXXXXX
yLON3NT0hI59cf8NGz8GcWLyzKJl1uDayjPDiBklOai/7J5rAf+5RgZPRBsRbQvw
AJvHEhI80YH8EEtoAIcW3CKTq/X4VozPyMx5vi6ZLnLgrHrQjq7LSpnQZMZUDwY9
CdkJrdqirBEhU2maKIOZ05lGsEAPR3i7ojmad19UvjE38hyAumOou3B6afm7lF/t
KPwnkFiibZGAHivjyPNd5DZk1BBH0PdD+ga3bmzlU20OcXvKDLdBlnvzgAkZ4eRF
Ixxv0GqCGg/MwE696Sr++pVLXkYtRifKofw8vibeUioA8/LjXfclz1UDIKT41w==
-----END RSA PRIVATE KEY-----
重点
出现的问题
Property 'spring.cloud.config.server.git.privateKey' is not a valid private key
JGit需要PEM格式的RSA密钥,如果你的秘钥不对,那么请重新生成秘钥,把公钥添加到gitlab上,生成方式
ssh-keygen -m PEM -t rsa -b 4096