是否有用于定义Gradle-Artifactory插件配置的jenkins job-dsl块/代码?

时间:2016-03-18 19:18:26

标签: gradle artifactory jenkins-job-dsl

在jenkins工作中,我使用gradle-artifactory插件将工件发布到Artifactory中的特定路径(在git项目的build.gradle中提到)。 我希望通过job-dsl让我的Jenkins工作。什么是作为gradle-artifactory插件配置的作业-dsl代码/块? 我尝试使用ArtifactoryGradleConfigurator类,但它没有用。

2 个答案:

答案 0 :(得分:1)

工件插件尚不受作业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中看到该配置。只是尝试以1:1的方式生成XML。 Jenkins Job DSL Playground是一个很好的工具来帮助你做到这一点。

答案 1 :(得分:0)

关于Gradle的Jenkins Artifactory插件的好处是它所做的只是应用Gradle Artifactory plugin(当然,所有代码 - Gradle DSL)。因此,不是从Jenkins UI应用插件,而是可以在代码中直接在Gradle中应用它。