Agent skill
docker-build-test
Docker build and test workflow with mandatory pre-push validation checklist to prevent CI/CD failures
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/devops/docker-build-test-tstapler-dotfiles-f11ec227
SKILL.md
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:
-
make validatepasses completely - No build errors or warnings
- Smoke tests pass
- Image sizes verified
- Clean validation from scratch
Quick Start
bash
# Complete validation (ALWAYS run before push)
make validate
# Build and test everything
make all
# Clean and rebuild
make clean && make validate
Build Commands
bash
# Build both images
make build
# Build individual images
make build-healthcheck
make build-pgbouncer
Test Commands
bash
# Test both images
make test
# Test individual images
make test-healthcheck
make test-pgbouncer
Validation Pipeline
bash
# 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)
bash
# 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: docker info |
| Build failures | Use make debug for verbose output |
| Disk space | Use make clean-all |
Debug Commands
bash
# 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 |
|---|---|
make validate |
Complete validation pipeline |
make all |
Build and test everything |
make build |
Build both images |
make test |
Test both images |
make info |
Show image information |
make clean |
Remove local images |
make debug |
Build with verbose output |
make check |
Check prerequisites |
make push |
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
Didn't find tool you were looking for?