Prześlij artefakt do Artifactory za pomocą Gradle
Jestem początkującym Gradle i Artifactory i chcę przesłać plik JAR do Artifactory.
Oto mój build.gradle
Plik:
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'maven'
apply plugin: 'artifactory-publish'
groupId = 'myGroup'
version = '1.0'
def artifactId = projectDir.name
def versionNumber = version
artifactory {
contextUrl = 'http://path.to.artifactory' // base artifactory url
publish {
repository {
repoKey = 'libs-releases' // Artifactory repository key to publish to
username = 'publisher' // publisher user name
password = '********' // publisher password
maven = true
}
}
}
artifactoryPublish {
dependsOn jar
}
Po uruchomieniu zadania artifactoryPublish
, budowanie zakończy się sukcesem, jak pokazano poniżej:
> gradle artifactoryPublish --stacktrace
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:jar
:artifactoryPublish
Deploying build info to: http://path.to.artifactory/api/build
BUILD SUCCESSFUL
Total time: 7.387 secs
Nie ma jednak nic wysyłanego do Artifactory poza informacjami o budowie.
Każda pomoc będzie mile widziana.Edit:
Jak wspomniał JBaruch, dodałem
apply plugin: 'maven-publish'
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
}
I domyślnie sekcja artifactory Zadanie
defaults {
publications ('mavenJava')
}
Teraz działa.
Dzięki
3 answers
To dlatego, że nie masz żadnego publications
. Na artifactory-publish
plugin działa z maven-publish
plugin i uploady publications
.
Jeśli wolisz pracować z starą wtyczką maven, potrzebujesz artifactory
plugin , nie artifactory-publish
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-09 15:32:52
Działa. W rzeczywistości używałem już utworzonego jar, więc używam poniższego kodu, aby określić mój jar, który ma zostać przesłany:
publishing {
publications {
mavenJava(MavenPublication) {
// from components.java
artifact file("path/jar-1.0.0.jar")
}
}
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-23 08:00:27
Potrzebujesz wtyczek:
apply plugin: 'java'
apply plugin: 'groovy'
apply plugin: 'maven'
apply plugin: 'maven-publish'
apply plugin: 'com.jfrog.artifactory'
Aby zbudować projekt i pobrać słoiki z artifactory:
buildscript {
repositories {
maven {
url 'http://[IP]:[PORT]/artifactory/gradle-dev'
credentials {
username = "${artifactory_user}"
password = "${artifactory_password}"
}
}
mavenCentral()
}
dependencies { classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.5.4" }
}
repositories {
mavenCentral()
mavenLocal()
}
Artifactory configs:
artifactory {
contextUrl = "${artifactory_contextUrl}"
publish {
repository {
repoKey = 'gradle-dev-local'
username = "${artifactory_user}"
password = "${artifactory_password}"
maven = true
}
defaults {
publications('mavenJava')
}
publishBuildInfo = true
publishArtifacts = true
publishPom = true
}
resolve {
repository {
repoKey = 'gradle-dev'
username = "${artifactory_user}"
password = "${artifactory_password}"
maven = true
}
}
}
I do publikacji:
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
}
Gradle.właściwości
artifactory_user=publisher
artifactory_password=*****
artifactory_contextUrl=http://IP:PORT/artifactory
Więc wszystko jest proste. Jeśli chcesz wgrać swój jar:
gradle artifactoryPublish
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-14 13:49:47