All posts

I wiped my dev environment clean and still deployed my app in under four minutes

The trick wasn’t magic. It was a simple blend of AWS CLI-style profiles and rsync. No bloated scripts. No half-broken CI copy steps. Just fast, predictable, environment-aware deployments from my local machine or a pipeline. AWS CLI profiles let you store multiple sets of credentials under different names. You switch between them with --profile instead of changing environment variables by hand. Tying rsync to these profiles means you can sync files directly to different environments without fric

Free White Paper

Just-in-Time Access + Intern / Junior Dev Access Limits: The Complete Guide

Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.

Free. No spam. Unsubscribe anytime.

The trick wasn’t magic. It was a simple blend of AWS CLI-style profiles and rsync. No bloated scripts. No half-broken CI copy steps. Just fast, predictable, environment-aware deployments from my local machine or a pipeline.

AWS CLI profiles let you store multiple sets of credentials under different names. You switch between them with --profile instead of changing environment variables by hand. Tying rsync to these profiles means you can sync files directly to different environments without friction. Production, staging, personal sandbox—they’re all a flag away.

The basic setup is clean. In ~/.aws/credentials, define each profile for every environment you need. Give them short, human-friendly names. Match them in ~/.aws/config with the right regions and settings. Now you can call:

aws s3 sync ./dist s3://my-bucket-name --profile staging

Rsync handles the same principle but for any SSH-accessible target. Combine it with an ssh config that matches your AWS-hosted instances, using the same profile naming convention. For example:

Continue reading? Get the full guide.

Just-in-Time Access + Intern / Junior Dev Access Limits: Architecture Patterns & Best Practices

Free. No spam. Unsubscribe anytime.
rsync -avz --delete ./app/ my-staging:/var/www/app

When the names match between AWS CLI profiles and rsync SSH hosts, the workflow becomes second nature. You type exactly what you mean, and the right environment gets the right files. No guessing. No fear.

This structure is also perfect for teams. Everyone uses the same profile names—scripts become portable without hardcoding IPs, credentials, or one-off hacks. Your ops process stops relying on tribal knowledge and starts scaling.

For bigger deployments, you can mix in build steps or pre-sync hooks. Since profiles handle credentials, rsync just focuses on speed and integrity. This means you keep security boundaries tight while keeping transfer times low.

I stopped worrying about which keys were loaded and where my files would land. I started shipping faster. This is how deployments should feel: light, readable, testable, and instant to switch between.

If you want to see this workflow live without writing a line of setup code yourself, there’s a faster way. Hoop.dev lets you run AWS CLI-style profiles with rsync-ready environments in minutes. No glue scripts. No boilerplate. Try it and watch your next deploy finish before your coffee cools.

Get started

See hoop.dev in action

One gateway for every database, container, and AI agent. Deploy in minutes.

Get a demoMore posts