Don';t';artifactoryPublish';运行Artifactory Jenkins插件时

Don';t';artifactoryPublish';运行Artifactory Jenkins插件时,jenkins,gradle,jenkins-pipeline,artifactory,Jenkins,Gradle,Jenkins Pipeline,Artifactory,是否可以执行gradle.run(见下文),而不运行artifactoryPublish任务?我原以为可以通过指定tasks参数来实现这一点,但该插件似乎将任务重新添加了进来。例如,以下各项: def server = Artifactory.server('artifactory-primary') def gradle = Artifactory.newGradleBuild() gradle.resolver server: server, repo: 'gradle-all-virtua

是否可以执行
gradle.run
(见下文),而不运行
artifactoryPublish
任务?我原以为可以通过指定tasks参数来实现这一点,但该插件似乎将任务重新添加了进来。例如,以下各项:

def server = Artifactory.server('artifactory-primary')
def gradle = Artifactory.newGradleBuild()
gradle.resolver server: server, repo: 'gradle-all-virtual'
gradle.deployer server: server, repo: 'gradle-libs-snapshot-local'
gradle.deployer.mavenCompatible = true
gradle.useWrapper = true
gradle.usesPlugin = true

def buildInfo = gradle.run(
    rootDir: ".",
    buildFile: 'build.gradle',
    tasks: 'build',
    switches: '--no-daemon -x check')        
server.publishBuildInfo buildInfo
结果:

...
gradlew -x check build artifactoryPublish -b build.gradle
...
当我真正想要的是:

...
gradlew -x check build -b build.gradle
...
最终,我希望在一个阶段构建,在另一个阶段部署


相同的代码段,但从我的Gradle文件中删除了对artifactory的引用,并添加了Tamir的添加内容:

def server = Artifactory.server('artifactory-primary')
def gradle = Artifactory.newGradleBuild()
gradle.resolver server: server, repo: 'gradle-all-virtual'
gradle.deployer server: server, repo: 'gradle-libs-snapshot-local'
gradle.deployer.mavenCompatible = true
gradle.deployer.deployArtifacts = false
gradle.useWrapper = true
gradle.usesPlugin = false

def buildInfo = gradle.run(
    rootDir: ".",
    buildFile: 'build.gradle',
    tasks: 'build',
    switches: '--no-daemon -x check')        
server.publishBuildInfo buildInfo

生成相同的结果。

默认情况下添加了artifactoryPublish任务,您可以在中看到。
如果您不想将工件部署到artifactory,可以通过配置deployer.deployArtifacts=false来实现。
就你而言:

gradle.deployer.deployArtifacts = false

如果要分两个阶段构建项目,您可以一次使用deployArtifacts=false构建项目,第二次使用deployArtifacts=true构建项目,默认情况下会添加artifactoryPublish任务,您可以在中看到这一点。
如果您不想将工件部署到artifactory,可以通过配置deployer.deployArtifacts=false来实现。
就你而言:

gradle.deployer.deployArtifacts = false

如果您想分两个阶段构建项目,您可以一次使用deployArtifacts=false构建项目,第二次使用deployArtifacts=true构建项目

您尝试过“PublishToAvenLocal”吗?@RuchikaSharma我看不出这能实现什么。你能提供更多的理由吗?你试过“publishtomavenlocal”吗?@RuchikaSharma我看不出那会有什么效果。你能提供更多的理由吗?谢谢塔米尔,我也试过了(从我原来的问题中省略)。没有变化,请参见问题中的示例。谢谢Tamir,我也尝试了这个(从我的原始问题中省略)。无变化,见相关样品。