spring云configuration服务器:SSH连接到私人configuration回购

正如它在这里所说,我需要在我的.ssh目录下的id_rsaknowm_hosts文件的连接工作。 这在我的本地机器上正常工作。

如果我需要使用spotify docker-maven-plugin生成一个docker镜像,那么下面的dockerfile将完成这项工作。

 FROM frolvlad/alpine-oraclejdk8:slim # Install ssh server RUN apk update RUN apk add openssh VOLUME /tmp ADD configserv-0.0.1-SNAPSHOT.jar app.jar RUN sh -c 'touch /app.jar' # Authorize SSH host RUN mkdir -p /root/.ssh RUN chmod 700 /root/.ssh # Add SSH keys COPY id_rsa >> /root/.ssh/id_rsa RUN chmod 600 /root/.ssh/id_rsa # Add gitlab public key RUN ssh-keyscan gitlab.com > /root/.ssh/known_hosts ENV JAVA_OPTS="" ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" 

但是如果我需要使用像gitlab CI这样的远程CI工具进行构build,我想我需要将id_rsa文件作为代码回购的一部分,这显然不是正确的做法。

有没有一个标准的机制,我可以使configuration服务器拉configuration从configuration回购使用SSH? 或者,我应该使用httpauthentication与用户名和密码(这又是需要推动作为代码的一部分)?

我也遇到过像ssh forwarding ,vault等术语,可以用吗?