
Artifactory Concourse Resource是专为Concourse CI/CD平台设计的资源类型,用于与JFrog Artifactory制品仓库深度集成。通过该资源,用户可在Concourse管道中实现对Artifactory制品的自动化管理,包括制品的上传、下载、版本跟踪及元数据操作,无缝衔接CI/CD流程中的构建、测试与部署环节。
在Concourse Pipeline配置(pipeline.yml)中,通过resource_types声明资源类型(若未全局注册),并在resources中定义Artifactory资源实例。
1. 资源类型声明(如需)
yamlresource_types: - name: artifactory-resource type: docker-image source: repository: releases-docker.jfrog.io/jfrog/artifactory-concourse-resource tag: latest # 建议指定具体版本,如v1.15.0
2. 资源实例定义
yamlresources: - name: my-artifactory-artifact type: artifactory-resource source: url: https://my-artifactory.example.com/artifactory # Artifactory实例URL username: ((artifactory-username)) # 访问凭据(通过Concourse Credentials Manager注入) password: ((artifactory-password)) repo: my-generic-repo # Artifactory仓库名称(需提前创建) path: my-apps/ # 制品存储路径(支持通配符,如my-apps/*.tar.gz) # 可选配置 pattern: "*.tar.gz" # 制品文件名匹配模式(若path中未包含) build_name: my-app-build # 关联的构建名称(用于元数据关联) build_number: ((build-number)) # 构建编号(可通过任务输出注入) properties: # 制品元数据属性(键值对) environment: production team: backend
Artifactory资源支持Concourse资源的三种标准操作:check(版本检测)、in(制品输入)、out(制品输出)。
1. Check操作(版本检测)
自动检测Artifactory中符合source.path和pattern的制品版本,返回最新版本信息(按修改时间或版本号排序)。
触发条件:Pipeline启动、定时触发或手动触发。
输出:版本列表(含制品路径、修改时间、版本号等)。
2. In操作(制品输入)
将Artifactory中的制品下载至Concourse任务工作目录。
任务配置示例:
yamljobs: - name: download-artifact plan: - get: my-artifactory-artifact trigger: true # 检测到新版本时自动触发 - task: use-artifact config: platform: linux image_resource: type: docker-image source: {repository: alpine} inputs: - name: my-artifactory-artifact # 下载的制品存放于该目录 run: path: sh args: - -c - | ls -l my-artifactory-artifact/ # 列出下载的制品
3. Out操作(制品输出)
将Concourse任务生成的制品上传至Artifactory。
任务配置示例:
yamljobs: - name: upload-artifact plan: - task: build-artifact config: platform: linux image_resource: type: docker-image source: {repository: alpine} outputs: - name: build-output # 任务输出目录(存放待上传制品) run: path: sh args: - -c - | echo "hello world" > build-output/my-app-v1.0.0.tar.gz # 生成示例制品 - put: my-artifactory-artifact params: file: build-output/*.tar.gz # 待上传制品路径(相对于任务输出目录) # 可选参数 flatten: true # 是否移除本地目录结构,仅上传文件 props: # 覆盖或追加元数据属性 version: 1.0.0 commit: ((git-commit-sha))
| 参数路径 | 类型 | 描述 | 是否必填 |
|---|---|---|---|
| source.url | string | Artifactory实例基础URL(如https://<domain>/artifactory) | 是 |
| source.username | string | Artifactory访问用户名(需有仓库读写权限) | 是 |
| source.password | string | Artifactory访问密码或API密钥 | 是 |
| source.repo | string | 目标Artifactory仓库名称(如my-docker-repo、my-maven-repo) | 是 |
| source.path | string | 制品在仓库中的存储路径(支持子目录,如apps/spring-boot/) | 是 |
| source.pattern | string | 文件名匹配模式(如*.jar、v*.tar.gz),与path配合筛选制品 | 否 |
| source.properties | map | 制品元数据属性(键值对),上传时附加至制品 | 否 |
| params.file | string | out操作中待上传的本地文件路径(支持通配符) | 是(out操作) |
| params.flatten | bool | out操作是否移除本地目录结构,仅保留文件名上传 | 否 |
| params.props | map | out操作中追加/覆盖的元数据属性(优先级高于source.properties) | 否 |
username/password,通过Concourse Credentials Manager(如Vault、CredHub)或环境变量注入敏感信息。read权限用于in操作,write权限用于out操作)。https协议,避免传输过程中凭据或制品数据泄露。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务