Prerequisites:
Software dependances
- aws-vault
- chamber
- eb cli
- aws cli
- jq
# ~/.ssh/config
######################
# DEV VPC
Host bastion-dev
User ec2-user
IdentityFile ~/.ssh/keet-dev.pem
Hostname bastion.keetdev.com
ForwardAgent no
Host *.dev
User ec2-user
IdentityFile ~/.ssh/keet-dev.pem
ProxyCommand ssh -q -W %h:%p bastion-dev
# ~/.bash_profile
alias awsv='aws-vault exec default -- '# run top to monitor memory
ssh web.dev -t top # tail the activity log during deploys
ssh web.dev tail -n 1000 -f /var/log/eb-activity.log # tail the rails log
ssh web.dev tail -n 1000 -f /var/log/puma/puma.log # get stack status
awsv eb status my-env-name# {start|stop|status} workers
ssh worker.dev sudo start workers
ssh worker.dev sudo stop workers
ssh worker.dev sudo status workers # check for changed assets by the commit diff
LAST_COMMIT=$(git rev-parse HEAD)
git diff --name-only $LAST_COMMIT HEAD | grep -E "(app|lib|vendor)/assets"
# hash entire assets directory
find app/assets -type f \( ! -iname ".*" \) | sort -df | xargs md5sum | cut -c1-32 | md5sum | cut -c1-32