Как опубликовать приложение Scala, если меня попросят ввести учетные данные? - PullRequest
0 голосов
/ 30 октября 2018

Я ввожу команду sbt publish и получаю приглашение с просьбой ввести имя пользователя и пароль. Могу ли я предоставить их в build.sbt или в другом месте, чтобы мне не приходилось вводить их вручную?

В моем файле build.sbt у меня есть это:

publishTo := Some(Resolver.sftp("Server", "url", "port"))

1 Ответ

0 голосов
/ 30 октября 2018

Вы можете поместить учетные данные в файл и ссылку в credentials.sbt, чтобы sbt загрузил его и использовал при публикации или загрузка зависимостей ,

STEP1: установить путь к файлу кредитов в ~/.sbt/1.0/plugins/credentials.sbt

echo 'credentials += Credentials(Path.userHome / ".sbt" / ".credentials")' >  ~/.sbt/1.0/plugins/credentials.sbt

примечание: 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

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")
}

STEP4: вы можете проверить, что credentials.sbt забирается sbt, просто запустив sbt clean compile

$ sbt clean compile
[info] Loading settings for project global-plugins from idea.sbt,credentials.sbt ...

Связанные ресурсы:

Официальная документация: https://www.scala -sbt.org / 1.0 / docs / Publishing.html

Как получить доступ к защищенному Nexus с помощью sbt?

Публикация SBT в артефакте JFrog

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...