
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
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协议,避免传输过程中凭据或制品数据泄露。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务