Skip to content
Back to skills

Infra Docker Build Test

ASecurity

Docker build and test workflow with mandatory pre-push validation checklist to prevent CI/CD failures

  • 8 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 20, 2026
devopsgobashdockerkubernetesawstestingdebugginggitci/cdsecurity

Security analysis

A100/100

Scanned September 20, 2026

npx -y skills add tstapler/dotfiles --skill infra-docker-build-test --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Infra Docker Build Test?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Infra Docker Build Test
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tstapler-infra-docker-build-test/badge)](https://www.skillsdirectory.com/skills/tstapler-infra-docker-build-test)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: infra-docker-build-test
description: Docker build and test workflow with mandatory pre-push validation checklist to prevent CI/CD failures
---

# Docker Build & Test

Local Docker testing workflow to prevent CI/CD failures. **CRITICAL**: Always run `make validate` before pushing.

> For running integration tests against the built images on Kubernetes, apply the `infra-testing` skill.

## Pre-Push Checklist (MANDATORY)

Before pushing ANY Docker-related changes:

- [ ] `make validate` passes 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

---

## Related Skills

| Skill | When to apply |
|-------|--------------|
| `infra-testing` | Run TestKube/Kubernetes integration tests against built images |
| `github-actions-debugging` | Diagnose Docker-related CI failures in GitHub Actions |
| `security-review` | Audit Dockerfile for vulnerabilities or secret exposure |
| `lean-agent-loop` | Iterate build/validate failures across categories with parallel agents until `make validate` is clean |

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…