Show HN: Deploy Docker Image to AWS Elastic Beanstalk

Skip to content

#!/bin/bash
# usage: ./deploy.sh staging f0478bd7c2f584b41a49405c91a439ce9d944657
BRANCH=$1
SHA1=$2
AWS_ACCOUNT_ID=12345678900
NAME=name-of-service-to-deploy
EB_BUCKET=aws-s3-bucket-to-hold-application-versions
VERSION=$BRANCH$SHA1
ZIP=$VERSION.zip
aws configure set default.region us-east-1
# Authenticate against our Docker registry
eval $(aws ecr get-login)
# Build and push the image
docker build -t $NAME:$VERSION .
docker tag $NAME:$VERSION $AWS_ACCOUNT_ID.dkr.ecr.us-east-1.amazonaws.com/$NAME:$VERSION
docker push $AWS_ACCOUNT_ID.dkr.ecr.us-east-1.amazonaws.com/$NAME:$VERSION
# Replace the with the real ID
sed -i= s/<AWS_ACCOUNT_ID/$AWS_ACCOUNT_ID/ Dockerrun.aws.json
# Replace the with the real name
sed -i= s//$NAME Dockerrun.aws.json
# Replace the with the real version number
sed -i= s//$VERSION/ Dockerrun.aws.json
# Zip up the Dockerrun file (feel free to zip up an .ebextensions directory with it)
zip -r $ZIP Dockerrun.aws.json
aws s3 cp $ZIP s3://$EB_BUCKET/$ZIP
# Create a new application version with the zipped up Dockerrun file
aws elasticbeanstalk create-application-version –application-name $NAME-application
–version-label $VERSION –source-bundle S3Bucket=$EB_BUCKET,S3Key=$ZIP
# Update the environment to use the new application version
aws elasticbeanstalk update-environment –environment-name $NAME
–version-label $VERSION
# Example Dockerfile
FROM hello-world
{
AWSEBDockerrunVersion: 1,
Image: {
Name: .dkr.ecr.us-east-1.amazonaws.com/:,
Update: true
},
Ports: [
{
ContainerPort: 443
}
]
}

Something went wrong with that request. Please try again.

You signed in with another tab or window. Reload to refresh your session.
You signed out in another tab or window. Reload to refresh your session.


Original URL: http://feedproxy.google.com/~r/feedsapi/BwPx/~3/dHTa5JXgRtc/93fb5aa3291b3843353794127804976f

Original article

Comments are closed.

Proudly powered by WordPress | Theme: Baskerville 2 by Anders Noren.

Up ↑

%d bloggers like this: