在 jenkins 作业中,我使用 gradle-artifactory 插件将工件发布到 Artifactory
中的特定路径(在 git 项目的 build.gradle 中提到)。我想通过 job-dsl 获得我的 Jenkins 工作。gradle-artifactory 插件配置的 job-dsl 代码/块是什么?
我尝试使用ArtifactoryGradleConfigurator
类,但它不起作用。
工件插件尚未得到作业 dsl 的支持。您需要做的是通过配置块自己创建相应的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'
}
}
}
}
您需要执行的实际配置要广泛一些。只需查看您工作的配置.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 是帮助你做到这一点的好工具。
的 Jenkins Artifactory 插件的好处是它所做的只是应用 Gradle Artifactory 插件(当然,这是所有代码 – Gradle DSL)。因此,无需从 Jenkins UI 应用插件,您可以直接在 Gradle 的代码中应用它。