在 Jenkins(测试)实例中禁用 Maven 部署 post 构建操作?

Disable Maven deploy post build action in a Jenkins (test) instance?

出于测试目的,我有时会将一些 Jenkins 作业从生产实例复制到我们的测试实例中。

存储库、分支等由环境变量控制,但我想阻止此 Jenkins 实例中所有作业的 "Deploy artifacts to Maven repository" post 构建操作。

知道怎么做吗?

有一个用于条件构建步骤的 Jenkins 插件:Conditional Build Step Plugin。虽然插件支持多种条件类型,但这里仅供参考,通过全局 Jenkins 属性 在布尔条件中使用切换部署的简单使用。

属性 可以在 Jenkins 配置中定义为 Global 属性 (Jenkins home > Manage > 配置全局属性)

举个例子,假设您定义了一个 属性,名称为 doMavenDeploy:

  • 生产环境:属性值为true
  • 测试环境:属性值为false

需要修改作业配置以添加 条件构建步骤

  • 运行? : 布尔条件
  • 代币 : $doMavenDeploy
  • 如果条件满足运行:在此处添加 maven 部署。

这样您将需要修改您的作业一次,在修改后的配置处于活动状态后,您可以在两个服务器之间移动它们而不会产生影响。

根据项目的具体情况和限制,还有其他可能的选择:

  • 为 'normal' 引入不同的 Maven 配置文件,并通过环境变量、文件存在或类似的方式测试构建和控制激活
  • 如果您使用 artifactory/nexus 或类似的:在没有部署者凭据的情况下配置测试服务器