Добавить частный репозиторий GitLab в качестве зависимости Maven - PullRequest
0 голосов
/ 16 сентября 2018

У меня есть частный репозиторий в GitLab (он в группе, и у меня есть роль разработчика), который я хочу добавить в качестве зависимости для моего проекта Maven.

Я долго искал, и все, что я нашел, это то, что мне нужно добавить следующее в мой pom.xml:

<repositories>
  <repository>
    <id>gitlab-maven</id>
    <url>https://gitlab.com/api/v4/projects/.../packages/maven</url>
  </repository>
</repositories>

<distributionManagement>
  <repository>
    <id>gitlab-maven</id>
    <url>https://gitlab.com/api/v4/projects/.../packages/maven</url>
  </repository>
  <snapshotRepository>
    <id>gitlab-maven</id>
    <url>https://gitlab.com/api/v4/projects/.../packages/maven</url>
  </snapshotRepository>
</distributionManagement>

Однако я понятия не имею, как добавить саму зависимость (с groupId и прочим), и я не уверен, как выполнить аутентификацию, чтобы Maven мог загрузить проект. Я видел кое-что о Персональных Токенах Доступа в GitLab, но я не уверен, как это настроить (я предполагаю, что мне нужен только доступ только для чтения?).

1 Ответ

0 голосов
/ 17 сентября 2018

Сначала несколько предварительных условий.Так как вы упомянули, что используете частный репозиторий, вам понадобится как минимум GitLab Silver (размещенный на gitlab.com) или GitLab Premium (самостоятельно размещаемый), чтобы использовать GitLab Maven Packages * 1002 репозиторий*.Кроме того, если вы используете хостинг самостоятельно, вам необходимо использовать GitLab 11.3 или более поздней версии (в этот раз на следующей неделе не будет), а для packages_enabled установлено значение true (см. ).Включение хранилища пакетов ).

Для частных проектов вам потребуется Личный токен доступа .Маркер должен иметь область действия api, чтобы Maven мог загружать артефакты в GitLab.Получив токен, вы настраиваете свой settings.xml следующим образом.

<settings>
  <servers>
    <server>
      <id>gitlab-maven</id>
      <configuration>
        <httpHeaders>
          <property>
            <name>Private-Token</name>
            <value>REPLACE_WITH_YOUR_PERSONAL_ACCESS_TOKEN</value>
          </property>
        </httpHeaders>
      </configuration>
    </server>
  </servers>
</settings>

В pom.xml, где у вас есть эллипсы, вам необходимо заполнить свой идентификатор проекта.Чтобы найти идентификатор, просто посетите главную страницу вашего проекта на GitLab.Он отображается в верхней части страниц, сразу после названия и описания вашего проекта.Например, взгляните на пример проекта mvn-example .Идентификатор проекта - 8377576. Это указывается в URL.

<repositories>
  <repository>
    <id>gitlab-maven</id>
    <url>https://gitlab.com/api/v4/projects/8377576/packages/maven</url>
  </repository>
</repositories>

Файл pom.xml проекта mvn-example показывает завершенный пример.

После всех этих настроек вы сможете загружать артефакты с помощью mvn deploy.

...