
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该镜像为Concourse CI提供S3加密资源,用于在CI/CD流水线中上传或下载GPG加密文件到S3存储。与官方S3资源不同,它通过aws s3 sync命令支持多文件同步操作,并提供灵活的配置选项以适应不同场景需求。
aws s3 sync命令批量处理文件,支持上传/下载多个文件--delete标志,确保目标端删除源端不存在的文件,可通过no_delete选项禁用endpoint和use_v4参数实现兼容access_key_id和secret_access_key,或通过EC2 Metadata服务获取基于角色的凭证path和suffix参数筛选特定路径和后缀的文件,无需指定.gpg扩展名fail_on_missing_path参数,控制路径不存在时是否报错(默认不报错)options参数传递aws s3 sync命令的额外选项,支持高级筛选和配置适用于Concourse CI流水线中需要加密同步多个文件到S3或MinIO的场景,例如:
1. 定义资源类型
在Pipeline YAML中声明资源类型:
yamlresource_types: - name: <资源类型名称> # 自定义资源类型名称,如"s3-encrypt" type: docker-image source: repository: paasmule/s3-encrypt-resource
2. 定义资源
配置S3或MinIO连接信息:
yamlresources: - name: <资源名称> # 自定义资源名称,如"encrypted-s3-files" type: <资源类型名称> # 引用上述定义的资源类型名称 source: access_key_id: {{aws-access-key}} # 可选,AWS/MinIO访问密钥ID secret_access_key: {{aws-secret-key}} # 可选,AWS/MinIO密钥 bucket: {{aws-bucket}} # 存储桶名称 encryption_key: {{encryption_key}} # GPG加密密钥 no_delete: true # 可选,是否禁用--delete标志,默认false
获取文件(get操作)
从S3下载加密文件:
yamljobs: - name: <作业名称> # 如"download-encrypted-files" plan: - get: <资源名称> # 引用上述定义的资源名称 params: path: <桶中具体路径> # 从桶根目录开始的路径,如"bosh-states" suffix: <文件名后缀> # 筛选文件的后缀,如"-state.json" fail_on_missing_path: false # 可选,路径不存在时是否失败,默认false
上传文件(put操作)
向S3上传加密文件:
yamljobs: - name: <作业名称> # 如"upload-encrypted-files" plan: - <生成文件的资源或任务> # 例如从Git仓库获取文件或执行任务生成文件 - put: <资源名称> # 引用上述定义的资源名称 params: path: <桶中具体路径> # 上传到桶的目标路径,如"bosh-states" suffix: <文件名后缀> # 筛选要上传的文件后缀,如"-state.json"
使用MinIO时,需在资源source中添加端点和签名版本配置:
yamlresources: - name: <资源名称> type: <资源类型名称> source: access_key_id: {{minio-access-key}} secret_access_key: {{minio-secret-key}} bucket: {{minio-bucket}} encryption_key: {{encryption_key}} endpoint: {{minio-endpoint-url}} # MinIO服务端点URL,如"http://minio:9000" use_v4: true # 启用S3 v4签名算法(MinIO要求)
access_key_id和secret_access_key为可选参数。若未提供,资源将自动通过EC2 Metadata服务查询当前EC2实例的IAM角色凭证,适用于已配置IAM角色的环境。
假设有以下目录结构:
bosh-states ├── 1.json.gpg └── 2.json.gpg scripts └── bad.sh
下载特定文件
仅下载bosh-states目录中后缀为-state.json的文件(无需指定.gpg扩展名):
yamlplan: - get: minio-s3 params: path: bosh-states suffix: "-state.json"
上传特定文件
仅上传bosh-states目录中后缀为-state.json的文件:
yamlensure: put: minio-s3 params: path: bosh-states suffix: "-state.json"
options参数可传递aws s3 sync命令的额外选项,例如排除特定文件:
yamlparams: path: bosh-states options: "--exclude '*.log'" # 排除.log文件
详细选项参考AWS S3 Sync文档。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务