Gradle + Jenkins + Artifactory Maven Repo?
j'ai un projet Java, construire avec Gradle, en utilisant le serveur CI de Jenkins, et je voudrais publier sur un serveur artificiel, en utilisant des artefacts compatibles avec Maven. Le projet est à l'aide de Git. J'aimerais aussi utiliser les fonctionnalités de gestion de versions de Jenkins si possible.
C'est très déroutant. Il y a au moins cinq plugins, avec de nombreuses fonctionnalités redondantes qui se chevauchent. Certains plugins semblent remplacer d'autres. Certains plugins semblent en nécessiter d'autres.
pour information, les cinq plugins semblent être:
1) Jenkins Artifactory Plugin https://wiki.jenkins-ci.org/display/JENKINS/Artifactory + Plugin
2) Grad "maven" Plugin http://www.gradle.org/docs/current/userguide/maven_plugin.html
3) Grad "maven-publish" Plugin http://www.gradle.org/docs/current/userguide/publishing_maven.html
4) Gradle "artifactory" Plugin https://www.jfrog.com/confluence/display/RTF/Gradle + Artifactory+Plugin
5) Grad "artifactory-publish" Plugin http://www.jfrog.com/confluence/display/RTF/Gradle+1.6+Publishing+Artifactory+Plugin
Quelle est la meilleure façon d'organiser cela?
si J'utilise le Plugin Jenkins Artifactory avec aucun des autres plugins mentionnés, j'obtiens une erreur:
No publish configurations specified for project ':' and the default 'archives' configuration does not exist.
Cannot publish pom for project ':my-great-app' since it does not contain the Maven plugin install task and task ':my-great-app:artifactoryPublish' does not specify a custom pom path.
je suppose que je dois utiliser maven
ou maven-publish
dans la construction.gradle?
maven-publish
est étiqueté comme le successeur incubateur de la maven
plugin. Quel est-il? Comment est-elle stable?
comment l'utilisation d'un des plugins de Gradle Artifactory se compare-t-elle aux plugins standard de maven publishing vs utilisant le plugin Jenkins?
1 réponses
- Gradle Artifactory plugins: Gradle peut déployer des artefacts de construction et construire des informations directement, sans besoin dans le serveur CI en utilisant l'un des plugins Artifactory.
artifactory
plugin fonctionne avecmaven
plugin et publieconfigurations
, généré parmaven
plugin.artifactory-publish
le plugin fonctionne avecmaven-publish
plugin et publiepublications
généré parmaven-publish
plugin.
- Jenkins Artifactory plugin fonctionne en deux modes:
- fournissant une interface utilisateur pour outrepasser les paramètres, spécifiés dans
artifactory
ouartifactory-publish
plugins dans Gradle build script. - ajouter et configurer
artifactory
plugin au script Gradle s'il n'est pas là. - il fournit également la gestion des versions (pour les deux modes).
- fournissant une interface utilisateur pour outrepasser les paramètres, spécifiés dans
Donc, voici ce que vous devez décider:
- si vous utilisez l'un des plugins Gradle. Notre recommandation is-use it (la configuration suivie en versions dans le script de construction est un avantage par rapport à la configuration qui N'utilise que L'interface utilisateur.
- quel plugin vous voulez utiliser --
maven
oumaven-publish
. Alors que la dernière est encore "en incubation", elle est beaucoup plus flexible que la première. Une fois que vous savez avec quel plugin maven vous voulez utiliser, Sélectionnez le plugin artifactory approprié. - vous avez besoin du plugin Artifactory Jenkins dans l'un ou l'autre sens si vous voulez utiliser la fonctionnalité release, Vérifiez (ou décochez)) le projet utilise la case à cocher' Artifactory Gradle Plugin'.