You need to enable JavaScript to run this app. Jenkins Pipeline中Artifactory.newServer的参数配置与环境变量引用
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins Pipeline中Artifactory.newServer的参数配置与环境变量引用

Artifactory.newServer 核心参数配置位置

代码中用到的SERVER_URL和CREDENTIALS两个参数,没有强制要求在某个固定系统配置页预存,可按实际使用习惯灵活配置,具体路径如下:

  • SERVER_URL即实际访问Artifactory服务的完整地址,两种配置方式二选一即可:
    • 直接在Jenkinsfile代码中填入实际地址,不需要进系统配置页预存
    • 如果需要多流水线复用统一地址,可到「Manage Jenkins > System > Global properties > Environment variables」下新增键值对,键名自定义(比如RT_SERVER_URL),值填实际访问地址,后续在Jenkinsfile里通过该键名引用
  • CREDENTIALS即Jenkins中存储的Artifactory访问凭据的唯一ID,必须提前在凭据管理模块完成配置:
    配置入口为「Manage Jenkins > Security > Credentials」
    配置步骤:
    • 选择全局可用的(global)凭据域,避免权限范围不足导致流水线无法读取
    • 根据使用的认证方式(账号密码/API Token/Access Token)选择对应的凭据类型,填入认证信息
    • 给该凭据设置全局唯一的标识ID——这个ID就是要传给credentialsId参数的值,比如凭据ID设为prod-artifactory-access-token,代码中就对应写credentialsId: 'prod-artifactory-access-token'

常见认知误区:很多用户误以为必须在全局Artifactory插件的配置页面提前新增服务器关联凭据才能用,实际上用Artifactory.newServer动态实例化客户端对象的场景,完全不依赖该全局配置,所有连接参数都可以在流水线脚本中动态指定。

Jenkinsfile 可直接复用的引用模板

注意:不要直接把占位符SERVER_URL、CREDENTIALS直接当变量名丢进代码,要么填实际值,要么替换为你自定义的环境变量名、提前配好的凭据ID

pipeline {
  agent any
  environment {
    // 流水线级定义服务地址,无需跑到全局系统配置页设置
    RT_SERVER_URL = 'https://your-company.jfrog.io/artifactory'
  }
  stages {
    stage('初始化Artifactory客户端') {
      steps {
        script {
          // 动态实例化服务连接对象
          def rtServer = Artifactory.newServer(
            url: RT_SERVER_URL,
            credentialsId: 'your-predefined-jenkins-credential-id'
          )
          // 后续可直接使用该对象完成依赖拉取、构件上传等操作
        }
      }
    }
  }
}
实操踩坑提醒
  • 严禁把Artifactory的访问密钥、密码硬编码写在Jenkinsfile中,所有敏感认证信息必须通过Jenkins凭据模块存储,代码里仅传递凭据ID
  • 如果引用全局配置的环境变量作为服务地址,需确认当前流水线任务的权限允许读取全局环境变量,避免出现变量为空、地址解析失败的报错
  • 只有使用声明式流水线内置的artifactoryPublisher步骤时,才需要关联全局配置页提前添加的Artifactory服务器;脚本化实例化newServer的场景,完全不需要提前在插件全局配置中做预设置

内容的提问来源于stack exchange,提问作者Evan Gertis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.26 09:27:04