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

标签 scala sbt nexus

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

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

我想考虑设置加密密码。

最佳答案

您可以创建一个名为 .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 的方法,为此看起来 here .

关于scala - 如何将加密密码设置为凭据以使用 sbt 发布 Nexus OSS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39952769/

相关文章:

maven - 如何使MVN部署提示输入密码?

scala - SBT 无法解决构建定义中的依赖关系

scala - 使用 SBT 制作 Spark Fat Jar 的正确方法

scala - SBT 运行最近停止工作,Play 服务项目中没有任何变化

backup - 通过命令行备份 Nexus 3?

scala - 使用 Scala 将文件从本地移动到 HDFS 时出错

Scala 与关键字的使用

scala - 在 Scala 中传递惰性参数有什么帮助吗?

scala - 在 PartialFunction 的 isDefined 和 Apply 中都发生了代价高昂的计算

xml - 如何通过 Maven 将 zip 文件部署到 Nexus 存储库