2016-09-08 33 views
0

AWS CodeCommitをSpring Cloud Configのリポジトリとして使用しようとしています。私は春クラウドConfigで同じcodecommitリポジトリを使用しようとするとしようとしたとき、それはエラーになります、しかしSpring Cloud Config with AWS CodeCommit SSH

git clone ssh://git-codecommit.us-east-1.amazonaws.com/v1/repos/configserver 

:私のような、gitのコマンドを使用してなど、クローンプッシュ、プル可能な端末で リポジトリをクローンします(エラーは以下の通りです)。

これはこれは、春のブートを開始するには、プロジェクト内の私の唯一のクラスである私ののpom.xml

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.example</groupId> 
    <artifactId>config-service</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <name>Config Service</name> 
    <description>This service fetches config for other service</description> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.4.0.RELEASE</version> 
     <relativePath/> <!-- lookup parent from repository --> 
    </parent> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
     <java.version>1.8</java.version> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId>org.springframework.cloud</groupId> 
      <artifactId>spring-cloud-config-server</artifactId> 
      <exclusions> 
       <exclusion> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-starter-tomcat</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-undertow</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 

    <dependencyManagement> 
     <dependencies> 
      <dependency> 
       <groupId>org.springframework.cloud</groupId> 
       <artifactId>spring-cloud-dependencies</artifactId> 
       <version>Brixton.SR5</version> 
       <type>pom</type> 
       <scope>import</scope> 
      </dependency> 
     </dependencies> 
    </dependencyManagement> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

です:

package com.example; 

import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 
import org.springframework.cloud.config.server.EnableConfigServer; 

@EnableConfigServer 
@SpringBootApplication 
public class ConfigServiceApplication { 

    public static void main(String[] args) { 
     SpringApplication.run(ConfigServiceApplication.class, args); 
    } 
} 

これは私のapplication.properties

です
spring.cloud.config.server.git.uri=ssh://git-codecommit.us-east-1.amazonaws.com/v1/repos/configserver 
spring.cloud.config.server.git.clone-on-start=true 
server.port=9090 

プロジェクトを開始するたびに、次のエラーが表示されます。

2016-09-08 13:47:48.342 ERROR 7970 --- [   main] o.s.boot.SpringApplication    : Application startup failed 

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'environmentRepository' defined in org.springframework.cloud.config.server.config.EnvironmentRepositoryConfiguration$GitRepositoryConfiguration: Invocation of init method failed; nested exception is org.eclipse.jgit.api.errors.TransportException: ssh://git-codecommit.us-east-1.amazonaws.com/v1/repos/configserver: USERAUTH fail 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578) ~[spring-beans-4.3.2.RELEASE.jar:4.3.2.RELEASE] 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) ~[spring-beans-4.3.2.RELEASE.jar:4.3.2.RELEASE] 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.3.2.RELEASE.jar:4.3.2.RELEASE] 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.2.RELEASE.jar:4.3.2.RELEASE] 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.2.RELEASE.jar:4.3.2.RELEASE] 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.2.RELEASE.jar:4.3.2.RELEASE] 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.3.2.RELEASE.jar:4.3.2.RELEASE] 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:776) ~[spring-beans-4.3.2.RELEASE.jar:4.3.2.RELEASE] 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:861) ~[spring-context-4.3.2.RELEASE.jar:4.3.2.RELEASE] 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541) ~[spring-context-4.3.2.RELEASE.jar:4.3.2.RELEASE] 
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.4.0.RELEASE.jar:1.4.0.RELEASE] 
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) [spring-boot-1.4.0.RELEASE.jar:1.4.0.RELEASE] 
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:369) [spring-boot-1.4.0.RELEASE.jar:1.4.0.RELEASE] 
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:313) [spring-boot-1.4.0.RELEASE.jar:1.4.0.RELEASE] 
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1185) [spring-boot-1.4.0.RELEASE.jar:1.4.0.RELEASE] 
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1174) [spring-boot-1.4.0.RELEASE.jar:1.4.0.RELEASE] 
    at com.zalora.ConfigServiceApplication.main(ConfigServiceApplication.java:12) [classes/:na] 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_102] 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_102] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_102] 
    at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_102] 
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) [idea_rt.jar:na] 
Caused by: org.eclipse.jgit.api.errors.TransportException: ssh://git-codecommit.us-east-1.amazonaws.com/v1/repos/configserver: USERAUTH fail 
    at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:139) ~[org.eclipse.jgit-3.5.3.201412180710-r.jar:3.5.3.201412180710-r] 
    at org.eclipse.jgit.api.CloneCommand.fetch(CloneCommand.java:178) ~[org.eclipse.jgit-3.5.3.201412180710-r.jar:3.5.3.201412180710-r] 
    at org.eclipse.jgit.api.CloneCommand.call(CloneCommand.java:125) ~[org.eclipse.jgit-3.5.3.201412180710-r.jar:3.5.3.201412180710-r] 
    at org.springframework.cloud.config.server.environment.JGitEnvironmentRepository.cloneToBasedir(JGitEnvironmentRepository.java:282) ~[spring-cloud-config-server-1.1.2.RELEASE.jar:1.1.2.RELEASE] 
    at org.springframework.cloud.config.server.environment.JGitEnvironmentRepository.initClonedRepository(JGitEnvironmentRepository.java:183) ~[spring-cloud-config-server-1.1.2.RELEASE.jar:1.1.2.RELEASE] 
    at org.springframework.cloud.config.server.environment.JGitEnvironmentRepository.afterPropertiesSet(JGitEnvironmentRepository.java:135) ~[spring-cloud-config-server-1.1.2.RELEASE.jar:1.1.2.RELEASE] 
    at org.springframework.cloud.config.server.environment.MultipleJGitEnvironmentRepository.afterPropertiesSet(MultipleJGitEnvironmentRepository.java:64) ~[spring-cloud-config-server-1.1.2.RELEASE.jar:1.1.2.RELEASE] 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637) ~[spring-beans-4.3.2.RELEASE.jar:4.3.2.RELEASE] 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) ~[spring-beans-4.3.2.RELEASE.jar:4.3.2.RELEASE] 
    ... 21 common frames omitted 
Caused by: org.eclipse.jgit.errors.TransportException: ssh://git-codecommit.us-east-1.amazonaws.com/v1/repos/configserver: USERAUTH fail 
    at org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:159) ~[org.eclipse.jgit-3.5.3.201412180710-r.jar:3.5.3.201412180710-r] 
    at org.eclipse.jgit.transport.SshTransport.getSession(SshTransport.java:136) ~[org.eclipse.jgit-3.5.3.201412180710-r.jar:3.5.3.201412180710-r] 
    at org.eclipse.jgit.transport.TransportGitSsh$SshFetchConnection.<init>(TransportGitSsh.java:262) ~[org.eclipse.jgit-3.5.3.201412180710-r.jar:3.5.3.201412180710-r] 
    at org.eclipse.jgit.transport.TransportGitSsh.openFetch(TransportGitSsh.java:161) ~[org.eclipse.jgit-3.5.3.201412180710-r.jar:3.5.3.201412180710-r] 
    at org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:136) ~[org.eclipse.jgit-3.5.3.201412180710-r.jar:3.5.3.201412180710-r] 
    at org.eclipse.jgit.transport.FetchProcess.execute(FetchProcess.java:122) ~[org.eclipse.jgit-3.5.3.201412180710-r.jar:3.5.3.201412180710-r] 
    at org.eclipse.jgit.transport.Transport.fetch(Transport.java:1115) ~[org.eclipse.jgit-3.5.3.201412180710-r.jar:3.5.3.201412180710-r] 
    at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:130) ~[org.eclipse.jgit-3.5.3.201412180710-r.jar:3.5.3.201412180710-r] 
    ... 29 common frames omitted 
Caused by: com.jcraft.jsch.JSchException: USERAUTH fail 
    at com.jcraft.jsch.UserAuthPublicKey.start(UserAuthPublicKey.java:118) ~[jsch-0.1.50.jar:na] 
    at com.jcraft.jsch.Session.connect(Session.java:463) ~[jsch-0.1.50.jar:na] 
    at org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:116) ~[org.eclipse.jgit-3.5.3.201412180710-r.jar:3.5.3.201412180710-r] 
    ... 36 common frames omitted 

この問題に関するお問い合わせは高く評価されます。前もって感謝します。 P.S .:同様の質問があることを知っていますHow to use AWS CodeCommit as repository for Spring Cloud Configしかし、それは私の質問に答えることはできません。

答えて

0

コマンドラインによる接続の例に基づいて、these directionsの後ろにAWS CodeCommitのデフォルトのユーザー名でSSHを設定したようです。 Jgit(Spring Cloud Configが使用していると思われる)は、SSH経由でgitリポジトリに接続するためにJschを使用しますが、JschはデフォルトのSSH鍵を検出できますが、SSH設定ファイルを読み込んで使用するユーザ名。

Spring Cloud Config用に設定したURLのSSH鍵ID(APKAEIBAERJR2EXAMPLEなど、あなたの~/.ssh/configファイルの「User」行に設定した可能性があります)を入れてみてください。 application.propertiesファイルは次のようになります。

spring.cloud.config.server.git.uri=ssh://[email protected]/v1/repos/configserver 
spring.cloud.config.server.git.clone-on-start=true 
server.port=9090 
+0

何らかの理由で、動作しませんでした。それでも同じエラーが発生します。可能な解決策はありますか? – tsukanomon

関連する問題