Claude-skill-registry docker-build-test
Docker build and test workflow with mandatory pre-push validation checklist to prevent CI/CD failures
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/docker-build-test" ~/.claude/skills/majiayu000-claude-skill-registry-docker-build-test && rm -rf "$T"
manifest:
skills/data/docker-build-test/SKILL.mdsource content
Docker Build & Test
Local Docker testing workflow to prevent CI/CD failures. CRITICAL: Always run
make validate before pushing.
Pre-Push Checklist (MANDATORY)
Before pushing ANY Docker-related changes:
-
passes completelymake validate - No build errors or warnings
- Smoke tests pass
- Image sizes verified
- Clean validation from scratch
Quick Start
# Complete validation (ALWAYS run before push) make validate # Build and test everything make all # Clean and rebuild make clean && make validate
Build Commands
# Build both images make build # Build individual images make build-healthcheck make build-pgbouncer
Test Commands
# Test both images make test # Test individual images make test-healthcheck make test-pgbouncer
Validation Pipeline
# 1. Complete validation (recommended) make validate # 2. Check for errors make build 2>&1 | grep -i error # 3. Verify functionality make test # 4. Check image sizes make info # 5. Clean validation make clean && make validate
Manual Docker Commands (Fallback)
# Build docker build -f Dockerfile.healthcheck -t pgbouncer-healthcheck:latest . docker build -f Dockerfile.pgbouncer -t pgbouncer:latest . # Test docker run --rm pgbouncer-healthcheck:latest /usr/local/bin/healthcheck-unified.py --help docker run --rm pgbouncer:latest /usr/local/bin/pgbouncer --version # Check sizes docker images | grep -E "(pgbouncer-healthcheck|pgbouncer)"
Troubleshooting
| Issue | Solution |
|---|---|
| Docker daemon not running | Start Docker Desktop |
| Permission denied | Verify Docker access: |
| Build failures | Use for verbose output |
| Disk space | Use |
Debug Commands
# Verbose debugging make debug # Check prerequisites make check # Build with no cache docker build --no-cache -f Dockerfile.pgbouncer -t pgbouncer:debug . # Check layers docker history pgbouncer:latest
Command Reference
| Command | Purpose |
|---|---|
| Complete validation pipeline |
| Build and test everything |
| Build both images |
| Test both images |
| Show image information |
| Remove local images |
| Build with verbose output |
| Check prerequisites |
| Push to ECR (requires AWS auth) |
Key Principles
- ✅ Simple and reliable - standard Docker + Make workflow
- ✅ No complex tooling - just Docker + Make (built-in)
- ✅ Easy debugging - familiar Docker commands
- ✅ CI/CD compatible - same commands locally and in pipelines