Nexus credentials in Jenkins with sbt



我正在尝试做一个 nexus 工作来发布一个 jar 到 nexus。 我正在将 sbt 与 scala 一起使用,并且我有一个包含所需凭据的配置文件。 我在运行sbt publish时遇到问题,它给了我未经授权的错误。 我需要能够将我的凭据链接到我的 sbt 版本。 我正在尝试将配置的目标设置为 ~/.ivy2/.credentials但它似乎不起作用。 有人对如何解决这个问题有任何建议吗?

谢谢。

您可以将所有凭据文件放在一个公共目录中,并添加一个全局配置文件以将所有凭据文件添加到 sbt 中。

~/.sbt/

0.13/credentials.sbt

credentials ++= (Path.userHome / ".sbt" / "credentials")
  .listFiles
  .collect {
    case f if f.isFile => Credentials(f)
  }
  .toSeq

~/.sbt/credentials/my-nexus-repo

realm=Sonatype Nexus Repository Manager
host=mynexusrepo.com
user=username
password=password

~/.sbt/credentials/my-artifactory-repo

realm=Artifactory Realm
host=myartifactoryrepo.com
user=username
password=password

就像在sbt文档中一样:

有两种方法可以为此类存储库指定凭据:

内嵌

credentials += Credentials("Some Nexus Repository Manager", "my.artifact.repo.net", "admin", "password123")

外部文件

credentials += Credentials(Path.userHome / ".ivy2" / ".credentials")

凭据文件是包含密钥领域、主机、用户和密码的属性文件。例如:

realm=My Nexus Repository Manager
host=my.artifact.repo.net
user=admin
password=admin123

最新更新