我发出sbt publish命令,并得到一个提示,要求我输入用户名和密码。我可以在 build.sbt 或其他地方提供它们,所以我不必手动输入它们吗?
在我的 build.sbt 文件中,我有这个:
publishTo := Some(Resolver.sftp("Server", "url", "port"))
Run Code Online (Sandbox Code Playgroud)
您可以将凭据放入文件并引用,credentials.sbt以便sbt加载它,并在发布或依赖项下载时使用它,
STEP1:设置creds文件路径~/.sbt/1.0/plugins/credentials.sbt
echo 'credentials += Credentials(Path.userHome / ".sbt" / ".credentials")' > ~/.sbt/1.0/plugins/credentials.sbt
Run Code Online (Sandbox Code Playgroud)
注意:echo some-stuff > some-file将内容重定向到文件。echo是一个linux命令
STEP2:你的~/.sbt/.credentials样子,
realm=Artifactory Realm // or Sonatype Nexus Repository Manager
host=server.com // don't put in http:// or https:// protocal
user=your.username.for.server.com
password=password.for.server.com
Run Code Online (Sandbox Code Playgroud)
STEP3:设置发布配置build.sbt如下:
publishTo in ThisBuild := {
if (isSnapshot.value)
Some("Artifactory Realm" at "server.com" + "/artifactory/libs-snapshot-local")
else
Some("Artifactory Realm" at "server.com" + "/artifactory/libs-release-local")
}
Run Code Online (Sandbox Code Playgroud)
STEP4:你可以验证是否credentials.sbt被sbt捡到了,只需运行sbt clean compile
$ sbt clean compile
[info] Loading settings for project global-plugins from idea.sbt,credentials.sbt ...
Run Code Online (Sandbox Code Playgroud)
相关资源:
官方文档:https : //www.scala-sbt.org/1.0/docs/Publishing.html
| 归档时间: |
|
| 查看次数: |
608 次 |
| 最近记录: |