2016-03-18 7 views
1

jenkinsジョブでは、Artifactoryのgradle-artifactoryプラグインを使用して、特定のパス(gitプロジェクトのbuild.gradleに記載されている)にアーティファクトを公開します。
私はjob-dslを通じてJenkinsの仕事をしたいと思っていました。 gradle-artifactoryプラグイン設定のjob-dslコード/ブロックは何でしょうか?
ArtifactoryGradleConfiguratorクラスを使用しようとしましたが、動作しませんでした。Gradle-Artifactoryプラグイン設定を定義するためのjenkinsジョブ-dslブロック/コードはありますか?

答えて

1

artifactoryプラグインはまだジョブdslによってサポートされていません。あなたがする必要があるのは、configure blockを使って、自分自身でXML設定を作成することです。例を次に示します。

job('artifactory-config') { 
    configure { 
    it/buildWrappers/'org.jfrog.hudson.gradle.ArtifactoryGradleConfigurator' { 
     deployMaven 'false' 
     deployIvy 'false' 
     deployBuildInfo 'true' 
     includeEnvVars 'false' 
     deployerCredentialsConfig { 
     credentialsId 'foobar' 
     overridingCredentials 'false' 
     } 
    } 
    } 
} 

実際の設定はもう少し広範囲です。 あなたの仕事のconfig.xmlを見れば、ArtifactoryGradleConfiguratorのXMLタグが見つかります。これは次のようになります:

<project> 
    <buildWrappers> 
    <org.jfrog.hudson.gradle.ArtifactoryGradleConfigurator"> 
     <deployMaven>false</deployMaven> 
     <deployIvy>false</deployIvy> 
     <deployBuildInfo>true</deployBuildInfo> 
     <includeEnvVars>false</includeEnvVars> 
     <deployerCredentialsConfig> 
     <credentials> 
      <username></username> 
      <password></password> 
     </credentials> 
     <credentialsId></credentialsId> 
     <overridingCredentials>false</overridingCredentials> 
     </deployerCredentialsConfig> 
     <resolverCredentialsConfig> 
     <credentials> 
      <username></username> 
      <password></password> 
     </credentials> 
     <credentialsId></credentialsId> 
     <overridingCredentials>false</overridingCredentials> 
     </resolverCredentialsConfig> 
    </org.jfrog.hudson.gradle.ArtifactoryGradleConfigurator> 
    </buildWrappers> 
</project> 

重要なことは、ブロック全体を構成する必要はありません。ただし、重要なXMLタグが見つからない場合は、ジョブが生成されますが、UIでは設定が表示されません。 XMLを1:1で生成するようにしてください。 Jenkins Job DSL Playgroundはこれを行うのに役立つ素晴らしいツールです。

+0

ありがとうございます!私は新しいジンキンボックスでこれをやっているので、私が見逃したことを理解しました。私はgradleプラグインをインストールすることを忘れています。私は知っている、それは馬鹿だ!一度インストールすると、アーティファクト名&URLを認識するのに効果的です。しかし、リフレッシュボタンをクリックするまでリポジトリ名を認識できませんでした。そして、このことが助けになりました。 https://issues.jenkins-ci.org/browse/JENKINS-26997 – phoenix

0

GradleのJenkins Artifactoryプラグインについての素晴らしいことは、すべてがGradle Artifactory plugin(もちろん、すべてのコード - Gradle DSL)を適用していることです。そのため、JenkinsのUIからプラグインを適用する代わりに、Gradleで直接コードに適用することができます。

関連する問題