【发布时间】:2014-11-04 04:15:32
【问题描述】:
我正在构建一个基于私有 git 存储库的持续集成部署。我的项目在资源目录中包含一个未版本化的 PK 文件。当我手动部署时,这工作正常,我确保私钥的副本位于任何工作站的路径上。
现在我正在从存储库进行部署,我很好奇在哪里存储密钥。这是一个私人仓库,我想我可以只对 PK 进行版本控制,但如果有替代方案,我宁愿不要。
任何提示或技巧?
更新:抱歉含糊不清,PK 是用于 Google API 的服务帐户。因此,它必须在运行时提供给 Java API 库。例如:
public void startGoogleDrive() {
HttpTransport httpTransport = new NetHttpTransport();
JacksonFactory jsonFactory = new JacksonFactory();
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(jsonFactory)
.setServiceAccountId(SERVICE_ACCOUNT_EMAIL)
.setServiceAccountScopes(Arrays.asList(DriveScopes.DRIVE))
.setServiceAccountUser(userEmail)
.setServiceAccountPrivateKeyFromP12File(
new java.io.File(SERVICE_ACCOUNT_PKCS12_FILE_PATH)) // <- private key file
.build();
}
【问题讨论】:
标签: git deployment continuous-integration