mcpField
A
artifact-management

artifact-management

github.com/aj-geddes云与 DevOps373436 次安装34 周前更新
代码仓库

关于 artifact-management

用于管理跨环境构建二进制文件、Docker 镜像和软件包的实用技能,涵盖存储、版本控制、分发、仓库发布及保留策略。

主要功能

  1. 01构建产物存储与检索
  2. 02版本控制与保留策略
  3. 03Docker 镜像优化
  4. 04仓库发布与分发
  5. 05产物扫描与验证

适用场景

  1. 01发布 npm 软件包
  2. 02向容器仓库推送镜像
  3. 03存储和检索构建产物
  4. 04跨仓库管理产物

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill artifact-management

安装后在 Claude Code 中输入/artifact-management确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
docker-registry-configuration.md
github-container-registry-ghcr-push.md
npm-package-publishing.md
scripts/
validate-pipeline.sh
templates/
pipeline.yaml

详细介绍

制品管理

目录

概述

实施全面的制品管理策略,用于在不同环境中存储、版本管理和分发构建的二进制文件、Docker 镜像和软件包。

适用场景

  • Docker 镜像仓库管理
  • 软件包发布和版本管理
  • 构建制品的存储和检索
  • 容器镜像优化
  • 制品保留策略
  • 多仓库分发
  • 依赖缓存

快速入门

最简可运行示例:

# Dockerfile with multi-stage build for optimization
FROM node:18-alpine AS dependencies
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production

FROM node:18-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

FROM node:18-alpine AS runtime
WORKDIR /app
COPY --from=dependencies /app/node_modules ./node_modules
COPY --from=builder /app/dist ./dist
COPY package*.json ./

EXPOSE 3000
HEALTHCHECK --interval=30s --timeout=3s --start-period=40s --retries=3 \
  CMD node healthcheck.js

CMD ["node", "dist/server.js"]

// ... (see reference guides for full implementation)

参考指南

references/ 目录中的详细实现:

指南内容
Docker Registry 配置Docker Registry 配置
GitHub Container Registry(GHCR)推送GitHub Container Registry(GHCR)推送
npm 软件包发布npm 软件包发布、制品保留策略、制品版本管理、GitLab 软件包仓库

最佳实践

✅ 应该
  • 对制品使用语义化版本控制
  • 在部署前实施镜像扫描
  • 为旧制品设置保留策略
  • 对 Docker 镜像使用多阶段构建
  • 对制品进行签名和验证
  • 实施制品不可变策略
  • 记录制品元数据
  • 使用指定版本的基础镜像
  • 实施漏洞扫描
  • 积极缓存各层
  • 使用提交 SHA 标记镜像
  • 压缩制品以便存储
❌ 不应该
  • 将 latest 标签用作唯一标识
  • 在制品中存储机密
  • 未经扫描就推送制品
  • 使用不可信的基础镜像
  • 跳过制品验证
  • 覆盖已发布的制品
  • 混合二进制制品和源代码制品
  • 忽略镜像层优化
  • 存储包含敏感数据的构建日志

评论

支持 Markdown