我正在尝试将 AWS CodeCommit 存储库与 spring 云配置一起使用。我已经设法让它与 SSH 一起工作。但我想使用 https 而不是 SSH。AWS 建议使用凭证助手。有谁知道如何配置 spring config cloud 以使用凭证助手?我在没有设置凭证助手的情况下查看了 AWS CodeCommit HTTPS 访问但还没有答案,我想知道 spring 云配置中是否有某种方法可以做到这一点。
2 回答
我不知道你是否已经看过这个答案,但这解释了一点,并且 JGit 的例子有效。AWS CodeCommit HTTPS 访问,无需设置凭证帮助程序
由于 Spring Cloud Config 尚不支持添加自定义凭据提供程序,因此您需要实现自己的 EnvironmentRepository。
对于 POC,我覆盖了 JGitEnvironmentRepository,并且不得不复制几乎所有代码,因为我真正需要覆盖的是私有方法 JGitEnvironmentRepository#setCredentialsProvider。该方法是我使用上面提供的示例中的代码的地方。
Spring Cloud Config 使用自动配置来构建它们的 MultipleJGitEnvironmentRepository bean,并使用 @ConditionalOnMissingBean(EnvironmentRepository.class) 进行注释,因此只要创建该类型的 bean,就可以覆盖它们的行为。
因此,在 Spring 扩展其对配置自定义凭据提供程序的支持或对 CodeCommit 的一流支持之前,SSH 选项要干净得多。
AWS CodeCommit 的未解决问题:https ://github.com/spring-cloud/spring-cloud-config/issues/334
那里发布了类似问题和解决方案的重复。 AWS CodeCommit HTTPS 访问,无需设置凭证帮助程序