2016-04-04 11 views
1

jarsをartifactoryに条件付きでアップロードすることはできますか?artifactoryと異なるjarファイルをアップロードする

私はArtifactoryプラグインを使用しようとしましたが、ビルドパイプラインから単一のjarをアップロードするだけの場合はうまくいきます。

また、テスト用のjarファイルをアップロードしたい場合、どうすればいいですか?

アップロードするJARを指定する設定をいくつかできますか?例えばテストのsourceSet(デフォルトではsrc/test/)からクラスを公開するには、テストジャーまたは「ノーマル」のjarファイル

publishing { 
    publications { 
     mavenJava(MavenPublication) { 
      from components.java 
     } 
    } 
} 

artifactory { 
    clientConfig.setIncludeEnvVars(true) 

    contextUrl = 'https://localhost:8081/artifactory/' 
    publish { 
     repository { 
      repoKey = 'libs-release-local' 
      username = "${artifactory_user}" 
      password = "${artifactory_user_password}" 
     } 
     defaults { 
      publications('mavenJava') 
      publishArtifacts = true 
      publishPom = true 
      publishIvy = true 
     } 
    } 
    resolve { 
     contextUrl = 'https://localhost:8081/artifactory' 
     repository { 
     repoKey = 'libs-release-local' 
     username = "${artifactory_user" 
     password = "${artifactory_user_password}" 
     maven = true 
     } 
    } 
} 
+0

どのmavenプラグインをお使いですか?古い "maven"またはそれより新しい 'maven-publish'? – RaGe

+0

最新のもの:https://www.jfrog.com/confluence/display/RTF/Gradle+Artifactory+Plugin – nmarques

+2

artifactoryプラグインにリンクしています。私はmavenプラグインについて質問しています。 Artifactoryプラグインは、使用するMavenプラグインに応じて、 'publications'または' publishconfigs'を使用して、どのアーティファクトを公開するかを決定します。追加のアーティファクト(たとえば、テスト用のjarなど)を公開する場合は、新しいmavenパブリケーションまたはpublishconfigを追加するだけです。あなたに適切な指示を与えるために使用しているプラ​​グインを知る必要があります。あなたのbuild.gradleを共有するのに役立つかもしれません。 – RaGe

答えて

1

、testJar作成するタスクを定義するために、あなた最初の必要性:

task testJar(type: Jar) { 
    classifier = 'tests' 
    from sourceSets.test.output 
} 

は、その後追加それ

publications { 
    mavenJava(MavenPublication) { 
     from components.java 

     artifact testJar { 
      classifier "test" 
     } 
    } 
} 

あなたの出版物に既にartifactoryからpublications('mavenJava')を公開しているので、あなたがそこに変更を加える必要はありません。

+0

を使用しています。ありがとうございました。最後に質問が1つ残っていますが、条件付きでアップロードを行うことは可能ですか?例えば。場合によっては自分のテストjarだけをアップロードしたい場合は – nmarques

+0

'if(condition){...}'に 'artifact testJar {...}'をラップすることができると思いますが、テストしていませんそれは自分。 – RaGe

関連する問題