Ответ 1
Вопрос теперь спорный. Github исключил загрузки. У них больше нет бинарных файлов. Вероятно, из-за такого рода злоупотреблений, которые я предложил...
Я пытаюсь хранить некоторые из наших частных артефактов в Github и хотел бы получить к ним доступ, как если бы они были частью репозитория Maven. Есть много страниц, которые объясняют, как создать публичный репозиторий Maven в Github: вы просто помещаете артефакты в правильную структуру каталогов в свой проект, а затем обращаетесь к ним с использованием "необработанного" URL-адреса:
<repositories>
<repository>
<id>myrepo.myname.github.com</id>
<url>https://github.com/myname/myproject/raw/master/repositories/releases/</url>
</repository>
</repositories>
До сих пор так хорошо. Теперь проблема в том, что я не могу понять, как получить доступ к репо, если он частный. Я добавил имя пользователя и пароль в свой файл settings.xml, но он не работает:
<servers>
<server>
<id>myrepo.myname.github.com</id>
<username>myusername</username>
<password>mypassword</password>
</server>
</servers>
Какой трюк?
Вопрос теперь спорный. Github исключил загрузки. У них больше нет бинарных файлов. Вероятно, из-за такого рода злоупотреблений, которые я предложил...
Я тоже этого не делал. Но github допускает проверку подлинности ssh/key, которая может работать?
<servers>
<server>
<username/>
<password/>
<privateKey/>
<passphrase/>
<filePermissions/>
<directoryPermissions/>
<configuration/>
<id/>
</server>
</servers>
В GitHub вы можете добавить ключ (по крайней мере, похоже, если это возможно) в этот репозиторий (репозиторий → Admin → Deploy Keys): https://help.github.com/articles/managing-deploy-keys
Я использовал ssh для развертывания артефактов на сервере linux несколько лет назад, прежде чем мы установили прокси-сервер репозитория. Это было немного сложно настроить на клиенте (доверенные ключи и т.д.), Но это сработало хорошо. Я помню, что вам нужно было вручную выполнить mvn deploy
вручную, чтобы добавить серверный ключ/отпечаток пальца локально, прежде чем это может быть сделано автоматически с помощью script или CI-сервера.
Вы можете получить доступ к приватным репозиториям из Maven pom.xml, используя следующий URL: https://api.github.com/users/username/repos?login=username&token=oauthtoken&repositoryname=reponame