我有一个在 docker 环境上运行的 spring-boot 应用程序,它连接到 Git 存储库以获取应用程序的配置。我的问题是应用程序在尝试获取 .properties 文件时有时会出错。这很奇怪,因为如果我更改用户和密码,相同的应用程序会重新工作。
错误
2021-06-20 15:42:57.229 WARN 1 --- [nio-8888-exec-1] .c.s.e.MultipleJGitEnvironmentRepository : Error occured cloning to base directory.
org.eclipse.jgit.api.errors.TransportException: https://####@bitbucket.org/####/cup-configuration-files: git-upload-pack not permitted on 'https://####@bitbucket.org/####/cup-configuration-files/'
at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:254) ~[org.eclipse.jgit-5.1.3.201810200350-r.jar:5.1.3.201810200350-r]
at org.eclipse.jgit.api.CloneCommand.fetch(CloneCommand.java:306) ~[org.eclipse.jgit-5.1.3.201810200350-r.jar:5.1.3.201810200350-r]
at org.eclipse.jgit.api.CloneCommand.call(CloneCommand.java:200) ~[org.eclipse.jgit-5.1.3.201810200350-r.jar:5.1.3.201810200350-r]
我已经尝试过这个解决方案,但没有奏效:create basedir directory。
应用程序.yml
server:
port: 8888
spring:
application:
name: config-server
cloud:
config:
server:
git:
basedir: temp
password: ####
username: ####
uri: https://#######@bitbucket.org/########/cup-configuration-files
searchPaths: '{application}'
management:
endpoints:
web:
exposure:
include: "*"
如果临时目录具有所有权限,我已经检查了 docker 容器内部。
当我使用 mvn spring-boot:run
命令在本地环境中运行相同的应用程序时,它可以工作。
PS:本地Git版本与docker环境不同。我不知道是否可能是问题所在。