fix: DevContainerでpre-builtイメージを使用 - #178
Conversation
## 問題
DevContainerが`build`を使ってローカルでDockerfileをビルドしていたため、
古いレイヤーキャッシュが使われ、最新の変更(11個のプラグイン)が
反映されない問題が発生していました。
### 具体的な問題
1. **ローカルビルドのキャッシュ問題**
- DevContainerはローカルでDockerfileをビルド
- Dockerのレイヤーキャッシュにより、古い`installed_plugins.json`が残る
- CI/CDでビルドされたイメージ(v1.6.4)には正しく11個のプラグインが含まれているが、
ローカルビルドでは15個のプラグインが参照される
2. **結果**
- `/plugin`コマンドで15個のプラグインが表示される
- うち4個(`claude-code-templates`のプラグイン)が存在しないためエラー
## 解決策
### devcontainer.jsonの変更
**Before**:
```json
{
"name": "Config Base Container",
"build": {
"dockerfile": "Dockerfile",
"context": ".."
},
```
**After**:
```json
{
"name": "Config Base Container",
"image": "ghcr.io/keito4/config-base:latest",
```
### 変更ポイント
- `build`セクションを削除し、`image`に変更
- CI/CDでビルドされたpre-builtイメージ(`ghcr.io/keito4/config-base:latest`)を使用
- ローカルでのビルドキャッシュ問題を完全に回避
## 期待効果
| 項目 | Before(ローカルビルド) | After(pre-builtイメージ) |
|------|------------------------|--------------------------|
| イメージソース | ローカルビルド | CI/CDビルド済み |
| キャッシュ問題 | ❌ 古いレイヤー使用 | ✅ 常に最新 |
| プラグイン数 | 15個(4個エラー) | ✅ 11個(すべて正常) |
| 起動時間 | 遅い(ビルド必要) | ✅ 高速(pull のみ) |
## メリット
### 1. 確実性
- CI/CDでビルドされたイメージを使用するため、常に最新の正しい状態
- ローカル環境のキャッシュに影響されない
### 2. 高速化
- ローカルでのDockerfileビルドが不要
- イメージのpullのみで起動可能(初回以降はキャッシュ利用)
### 3. 一貫性
- すべての開発者が同じイメージを使用
- 環境差異によるトラブルが減少
## 影響範囲
### DevContainer起動
- ✅ 初回起動時にイメージをpull(数分)
- ✅ 2回目以降は高速起動(キャッシュ利用)
- ✅ 11個のプラグインがすべて正常に動作
### ローカル開発
- ✅ 影響なし
- ✅ `docker pull ghcr.io/keito4/config-base:latest`で手動更新可能
### Dockerfile
- ✅ 影響なし(CI/CDビルド用として引き続き使用)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
Caution Review failedThe pull request is closed. 📝 WalkthroughWalkthroughThe Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Possibly related PRs
Suggested labels
Poem
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: defaults Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🔍 Claude Code Review📝 変更内容の理解
✅ 良い点1. 問題の根本原因解決
2. 運用効率の向上
3. Conventional Commitsの遵守
4. ドキュメント充実
|
|
🎉 This PR is included in version 1.6.5 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
概要
DevContainerの設定をローカルビルドからpre-builtイメージの使用に変更し、古いキャッシュによるプラグイン設定の不整合を解消します。
問題
Dockerfileからビルドしていたため、古いDockerレイヤーキャッシュが残存解決策
.devcontainer/devcontainer.jsonを修正:影響
テスト計画
/pluginコマンドで11個のプラグインのみが表示されることを確認関連
🤖 Generated with Claude Code
Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.