Моя компания пытается перейти с Nexus Repo, размещенного в Kubernetes, на GitHub Packages. Я пытался найти способ сгруппировать наши артефакты в один репозиторий, чтобы нам не нужно было объявлять новую запись репо для каждого артефакта в нашем build.gradle. На данный момент у меня упорядочен процесс публикации sh через Jenkins при коммите.
plugins {
id 'java'
id 'maven-publish'
}
group "$group_name"
version "$market_version"
task sourcesJar(type: Jar){
from sourceSets.main.allJava
classifier = 'sources'
}
task javadocJar(type: Jar){
from javadoc
classifier = 'javadoc'
}
javadoc{
if(JavaVersion.current().isJava9Compatible()){
options.addBooleanOption('html5', true)
}
}
repositories {
mavenCentral()
}
publishing{ //publishing sub-task for publishing to Nexus maven repo.
publications{
mavenJava(MavenPublication){
groupId this.group
artifactId "$project_name"
version this.version
from components.java
artifact sourcesJar
artifact javadocJar
pom{
name = "$project_name"
description = ''
url = ""
licenses{
license{
name = 'The Apache Lincense, Version 2.0'
url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}
developers{
developer{
id = ''
name = ''
email = ''
}
}
scm{
connection = "$git_connection"
developerConnection = "$developer_connection"
url = "$git_url"
}
}
}
}
repositories {
maven{
name = "GitHubPackages"
url = uri("https://maven.pkg.github.com/$company_name/$project_name")
credentials{
username = System.getenv("GIT_DEV")
password = System.getenv("GIT_TOKEN")
}
}
}
}
В приведенном выше коде я развертываю на https://mave.pkg.github.com/ /. Однако, когда я пытаюсь опубликовать sh все артефакты в одном репо, я больше не могу получить зависимости. Существует некоторая документация о том, как выполнить sh это с помощью maven, используя данные SCM, но это не помогло мне. Любая помощь будет принята с благодарностью.