Обратите внимание, что плагин maven-publish
«теперь является предпочтительным вариантом для публикации [Maven] артефактов» с помощью Gradle (см. Также примечание вверху на странице , которую высвязаны).Делать то, что вам нужно с плагином maven
, было бы более громоздким, так как он более сложен и не так хорошо документирован, ИМХО.Поэтому я надеюсь, что вы не будете возражать, когда я отвечу на ваш вопрос, имея в виду плагин * 1007. *
Что касается аутентификации со специальными значениями заголовков HTTP, вы должны решить это следующим образом ( через ):
publishing {
repositories {
maven {
url "http://repo.mycompany.com/maven2"
credentials(HttpHeaderCredentials) {
name = "Private-Token"
value = "REPLACE_WITH_YOUR_PERSONAL_ACCESS_TOKEN"
}
authentication {
header(HttpHeaderAuthentication)
}
}
}
}
Если вы действительно хотите использовать старый плагин maven
, тогда я бы предложил начать исследование с этого раздела документации поКак решить проблему с аутентификацией.
Кстати: я в основном ответил на ваш вопрос о том, как проходить аутентификацию с помощью GitLab здесь.Если у вас возникнут проблемы с настройкой публикации, я бы порекомендовал опубликовать этот вопрос как отдельный вопрос с более подробной информацией о вашей настройке и, возможно, о том, что вы уже пробовали.
Отредактировано, чтобы добавить: если вам нужно использовать разные учетные данные заголовка в зависимости от определенных параметров командной строки, вы можете изменить приведенную выше конфигурацию credentials
на что-то вроде следующего:
credentials(HttpHeaderCredentials) {
if (project.hasProperty('jobToken')) {
name = "Job-Token"
value = project.property('jobToken')
} else {
name = "Private-Token"
value = "REPLACE_WITH_YOUR_PERSONAL_ACCESS_TOKEN"
}
}
В этом примере вы можете запустить ./gradlew -PjobToken=REPLACE_WITH_YOUR_JOB_TOKEN …
в заданиях GitLab CI, оставляя часть -PjobToken=…
при локальной работе.