В скриптовом конвейере Jenkins я использовал следующие функции:
rtMaven.deployer.artifactDeploymentPatterns.addInclude("frog*")
Каков эквивалентный способ сделать это в декларативном конвейере?
декларативное примеры в вики не упоминают об этом, в то время как примеры с сценариями делают.
Ясно, что, глядя на сущность плагина, функциональность, которую я хочу, есть, а я нет знать, как его вызывать.
https://github.com/jfrog/jenkins-artifactory-plugin/blob/ebce86efdf1e1a7c38a9ad1ed6a8063b58ecdf3a/src/main/java/org/jfrog/hudson/pipeline/declarative/steps/maven/MavenDeployerStep.java#L26
Рабочий код со скриптом:
server = Artifactory.server("myServer")
rtMaven = Artifactory.newMavenBuild()
rtMaven.tool = config.toolMaven // Tool name from Jenkins configuration
rtMaven.deployer releaseRepo: "libs-release-local", snapshotRepo: "libs-snapshot-local", server: server
rtMaven.resolver releaseRepo: "libs-release", snapshotRepo: "libs-snapshot", server: server
rtMaven.deployer.deployArtifacts = false // Disable artifacts deployment during Maven run
if (config.includeFilterPattern) {
rtMaven.deployer.artifactDeploymentPatterns.addInclude(config.includeFilterPattern)
}
buildInfo = Artifactory.newBuildInfo()
buildInfo.name = "myBuild"
buildInfo.env.capture = true
Мой декларативный код в настоящее время выглядит следующим образом:
rtMavenResolver (
id: "resolver-id",
serverId: "myServer",
releaseRepo: "libs-release",
snapshotRepo: "libs-snapshot"
)
rtMavenDeployer (
id: "deployer-id",
serverId: "myServer",
releaseRepo: "libs-release-local",
snapshotRepo: "libs-snapshot-local"
)
rtBuildInfo (
captureEnv: true,
buildName: "myBuild"
)
//... mvn clean install
rtPublishBuildInfo (
serverId: "myServer"
)