1

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

4

2 回答 2

1

job dsl 尚不支持 artifactory 插件。您需要做的是通过配置块自己创建相应的 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,您就会在其中找到 .xml 的 XML 标记ArtifactoryGradleConfigurator。它看起来像这样:

<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是一个很好的工具来帮助你做到这一点。

于 2016-03-19T09:08:37.187 回答
0

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

于 2016-03-19T06:25:46.310 回答