artifact-management について
ビルド済みバイナリ、Docker イメージ、パッケージを環境間で管理するためのスキルです。保存、バージョン管理、配布、レジストリへの公開、保持ポリシーを扱います。
主な機能
- 01成果物の保存と取得
- 02バージョン管理と保持ポリシー
- 03Docker イメージの最適化
- 04レジストリへの公開と配布
- 05成果物のスキャンと検証
活用シーン
- 01npm パッケージの公開
- 02コンテナレジストリへのイメージ登録
- 03ビルド成果物の保存と取得
- 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.mdgithub-container-registry-ghcr-push.mdnpm-package-publishing.mdscripts/validate-pipeline.shtemplates/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 Configuration | Docker レジストリの設定 |
| GitHub Container Registry (GHCR) Push | GitHub Container Registry (GHCR) へのプッシュ |
| npm Package Publishing | npm パッケージの公開、アーティファクトの保持ポリシー、アーティファクトのバージョン管理、GitLab Package Registry |
ベストプラクティス
✅ 実施すること
- アーティファクトにはセマンティックバージョニングを使用します
- デプロイ前にイメージスキャンを実施します
- 古いアーティファクトに保持ポリシーを設定します
- Docker イメージにはマルチステージビルドを使用します
- アーティファクトに署名し、検証します
- アーティファクトの不変性を確保します
- アーティファクトのメタデータを文書化します
- 特定のバージョンのベースイメージを使用します
- 脆弱性スキャンを実施します
- レイヤーを積極的にキャッシュします
- イメージにコミット SHA をタグ付けします
- 保存するアーティファクトを圧縮します
❌ 実施しないこと
latestタグのみを識別子として使用する- アーティファクトにシークレットを保存する
- スキャンせずにアーティファクトをプッシュする
- 信頼できないベースイメージを使用する
- アーティファクトの検証を省略する
- 公開済みのアーティファクトを上書きする
- バイナリアーティファクトとソースアーティファクトを混在させる
- イメージレイヤーの最適化を無視する
- 機密データを含むビルドログを保存する
コメント
Markdown 対応