从在GitHub上托管的Spring Cloud Config Server访问的repo的身份验证问题

时间:2016-10-07 17:07:11

标签: spring github spring-boot spring-cloud spring-cloud-config

我在GitHub上的回购中托管配置。如果我让回购公众保持良好状态,但如果我将其公之于众,我将面临:

org.eclipse.jgit.errors.TransportException: 
 https://github.com/my-user/my-repo:
 Authentication is required but no CredentialsProvider has been registered

我用来定位回购的属性是

spring.cloud.config.server.git.uri=https://github.com/my-user/my-repo

我应该如何使用私人仓库正确配置,谢谢

3 个答案:

答案 0 :(得分:6)

您需要添加

spring.cloud.config.server.git.username=your_github_username
spring.cloud.config.server.git.password=your_github_password

并且事情应该为你锻炼

答案 1 :(得分:1)

不建议将GitHub用户名和密码硬编码到application.yml中。您将有泄漏GitHub帐户并向网络上的任何人开放配置存储库风险的风险。

您可以通过添加以下配置将ssh用作身份验证方法:

spring:
  cloud:
    config:
      server:
        git:
          uri: git@github.com:qianyanseu/EagleEye-config.git
          searchPaths: licensingservice,organizationservice
          private_key_file: ~/.ssh/github_rsa

由于GitHub更新了身份验证算法,因此,如果您使用的是早期版本的Spring Cloud,则还需要向pom.xml添加以下依赖项:

<dependency>
   <groupId>com.jcraft</groupId>
   <artifactId>jsch</artifactId>
   <version>0.1.53</version>
</dependency>

答案 2 :(得分:0)

 - SPRING_CLOUD_CONFIG_SERVER_GIT_USERNAME=XXXXX
  - SPRING_CLOUD_CONFIG_SERVER_GIT_PASSWORD=XXXXXXXXXXXX
  - SPRING_CLOUD_CONFIG_SERVER_GIT_DEFAULT-LABEL=branchXXXXX

我正在以docker的身份运行它,并且对我有用

对于初学者来说,这就是我如何将Spring Cloud Server用作Docker容器

container_name: sccserver
ports:
  - 8080:8080
volumes:
  - /data/config-dir:/data
environment:
  - EUREKA_HOST=$DOCKERHOST
  - scc_search_paths={application}, {application}/extended-attributes, {application}/feature-flags, {application}/properties, {application}/error-codes,{application}/seed-data,{application}/globalization,{application}/json-validator-schema,{application}/seedData
  - VIRTUAL_HOST=$DOCKERHOST
  - MESSAGING_HOST=$DOCKERHOST
  - SCC_GIT_URI=https://bitbucket.com/XXXXXXX.git 
  - "JAVA_OPTS=-Xmx512m"
  - SCC_GIT_SKIPSSLVALIDATION=true
  - SPRING_CLOUD_CONFIG_SERVER_GIT_USERNAME=
  - SPRING_CLOUD_CONFIG_SERVER_GIT_PASSWORD=
  - SPRING_CLOUD_CONFIG_SERVER_GIT_DEFAULT-LABEL=
extra_hosts:
  - "dockerhost:$DOCKERHOST"