我有一个在docker环境上运行的spring-boot应用程序,它连接到Git存储库来获取应用程序的配置。我的问题是,当应用程序试图获取。属性文件。这很奇怪,因为同样的应用程序,如果我改变用户和密码回来工作。
错误
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]
我已经尝试了这个解决方案,但它不起作用:创建basedir目录。
应用程序.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 sping-boot: run
命令运行相同的应用程序时,它会起作用。
PS:本地Git版本与泊坞站环境不同。我不知道是否可能是问题所在。
当我通过向导“克隆git存储库”在Spring Tool suite 4(STS)中克隆Bitbucket存储库时,我遇到了同样的错误,即“不允许git-upload-pack”。我挣扎了好几个小时才意识到,我们需要通过Bitbucket中的添加应用程序密码链接来使用生成的密码。
以下是有关如何解决“不允许 git 上传包”错误的更多详细信息。
比特桶
>
前往Bitbucket主页
在您的左下角单击您的帐户图标。它将显示弹出菜单,其中之一是“个人设置”。单击相同的。它会带您进入您的帐户设置。
在Bitbucket个人帐户设置页面上,您将看到菜单链接“应用程序密码”,单击相同。在右侧面板上,将显示“应用密码”页面。
在右侧页面上,您将看到“创建应用程序密码”按钮。单击相同。它将显示添加应用密码的详细信息。
GitHub
如果您使用的是GitHub,则会被告知GitHub已弃用密码,您需要在GitHub中创建个人访问令牌,如此处所述。(请参考此答案)
我已经创建了一个cup-configuration-files目录,用git对其进行了初始化,并进行git pull来获取所有文件,在application.yml上,我将uri作为file:
应用程序. yml:
server:
port: 8888
spring:
application:
name: config-server
cloud:
config:
server:
git:
basedir: temp
password: ######
username: ######
uri: file:/cup-configuration-files
searchPaths: '{application}'
management:
endpoints:
web:
exposure:
include: "*"
我有一个spring boot应用程序,它有两个功能:Http请求和kafka消息处理。我希望这个应用程序在application.yml中启用的模式下运行,也就是说,如果用户只希望为http请求启用它,那么kafka就不应该被连接。 我可以使用普通的spring boot kafka插件通过使用@KafkaListener的以下属性禁用自动配置来实现这一点, autoStartup=“${mod
我正在尝试使用VSTSGit作为我的配置repo。 这是我的application.yml(隐藏或删除的敏感信息)
这个问题看起来像是重复的,但实际上不是。只是一个不断重复的微小差异。git一直告诉我:“请告诉我你是谁”,即使在设置之后。当我运行时,这就是我得到的…… 但是当我运行时,它会给我所有的详细信息… 我已经更改了我的姓名、电子邮件和代理,但当我运行命令时,它们看起来很好,即使在.gitconfig文件中,我也可以看到设置的值。可能缺少什么,因为我根本无法promise。每次它总是问我是谁? @sheu
问题内容: 我需要用户将文件上传到我的Google云端存储,而无需通过Google进行身份验证。这些主要是运行我的应用程序的Windows台式机/笔记本电脑用户。阅读完不同的身份验证机制后,我发现可恢复的上传可能是我想要的。上面的页面提供了有关如何实现此功能的REST API。我有几个问题: 这是第三方将数据上传到我的帐户而不登录任何Google帐户的正确方法吗? 是否存在包含可恢复上传相关代码的
我有一个配置文件,我想根据配置文件在其中创建不同的bean。 出于某种原因,这是可行的: 这不是,在Eclipse中给出错误消息: 此位置不允许注释 我宁愿使用第二个,但我不确定我是否可以。Spring API说它应该可以工作: 可通过以下任一方式使用配置文件注释: 作为任何类上的类型级注释,直接或间接使用组件进行注释,包括配置类 作为元注释,用于编写自定义原型注释 作为任何@Bean方法上的方法
我有一个使用调用的进程。此任务被提交给executor服务。我允许进程在尝试取消它之前有x秒的运行时间。但是,当我调用并且任务在方法中等待时,线程/任务不会被取消。 我已经对代码进行了测试,如果将替换为,则会得到。但是,当任务位于内时,不会出现中断。在face中,直到Restful调用完成,该方法才返回。 我看到了这篇文章,取消、中止、中断一个spring android resttemplate