Плагин Jenkins Artifactory: artifactDeploymentPatterns.addInclude для декларативных конвейеров - PullRequest
1 голос
/ 16 марта 2020

В скриптовом конвейере 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"
)

1 Ответ

1 голос
/ 17 марта 2020

Очень просто, когда вы знаете, как (Не документировано на момент написания):

rtMavenDeployer (
        id: "deployer-id",
        serverId: "myServer",
        releaseRepo: "libs-release-local",
        snapshotRepo: "libs-snapshot-local",
        includePatterns: ["frog*"]
)
...