如何使用sbt为凭据设置加密密码以发布Nexus OSS?

6

我正在尝试像这样global.sbt中使用未加密密码访问Nexus OSS存储库,我的global.sbt是:

 credentials += Credentials("Sonatype Nexus", "repo.example.com", "username", "unencrypted_password")

我想考虑设置加密密码。

1个回答

2
你可以创建一个名为 .credentials 的文件,放在 ~/.ivy2/.credentials 下。这是一个相当标准的位置,但显然你可以将文件放置在磁盘上的任何位置。
该文件看起来像这样:
realm = Sonatype Nexus Repository Manager
host = oss.sonatype.org
user = publishing@yourco.com
password = $encrypted

为了加密密码,您可以使用已知的AES密码,这意味着您基本上可以像这样做:
val credential: DirectCredentials = Credentials(Path.userHome / ".ivy2" / ".credentials")
val decrypted = credential.copy(passwd = decryptAes(credential.passwd))

现在您需要的是一个公司范围内共享的密码,或类似的东西,以及一种解密AES的方法,请查看这里

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接