Учетные данные Nexus в Дженкинсе с помощью sbt

Я пытаюсь сделать задание нексуса, чтобы опубликовать банку в нексусе. Я использую sbt со scala, и у меня есть файл конфигурации с необходимыми учетными данными. У меня возникли проблемы при запуске sbt publish, он выдает неавторизованные ошибки. Мне нужно иметь возможность связать свои учетные данные с моей сборкой sbt. Я пытаюсь установить цель моих конфигураций на ~/.ivy2/.credentials, но, похоже, это не работает. Есть ли у кого-нибудь совет, как это исправить?

Спасибо.


person nickn    schedule 10.03.2016    source источник


Ответы (2)


Вы можете поместить все свои файлы учетных данных в общий каталог и добавить глобальный файл конфигурации, чтобы добавить их все в 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
person thirstycrow    schedule 11.03.2016
comment
Собственно, как это сработает на Дженкинсе? Кто-то сказал мне, что может быть много серверов, на которых работает jenkins. Есть ли лучший способ сделать это, чем обновить весь сервер с этими учетными данными? - person nickn; 11.03.2016
comment
Вы должны сделать это на каждом рабе Дженкинса, который собирается построить ваш проект. На практике мы храним глобальные конфигурации нашего инструмента сборки и сценарий быстрой настройки в репозитории git. - person thirstycrow; 12.03.2016
comment
Можете ли вы добавить, где я должен разместить эти файлы, что является домом (~, Path.userHome) для Дженкинсов? - person Suma; 27.09.2018

Как в документе 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
person luckydonald    schedule 02.06.2016