Skip to content

Instantly share code, notes, and snippets.

@0xAhmed
0xAhmed / create-change-set.sh
Last active November 15, 2016 17:35
AWS CloudFormation Stack: Create Change Set
aws cloudformation create-change-set \
--stack-name app \
--change-set-name app-$DOCKBIT_DEPLOYMENT_SHA \
--template-body file://./AutoScalingRollingUpdates.json \
--parameters \
ParameterKey=KeyName,UsePreviousValue=true \
ParameterKey=SHAVersion,ParameterValue=$DOCKBIT_DEPLOYMENT_SHA
@0xAhmed
0xAhmed / execute-change-set.sh
Last active November 15, 2016 17:35
AWS CloudFormation Stack: Execute Change Set
for i in $(seq 1 20); do
aws cloudformation list-change-sets --stack-name app | grep CREATE_COMPLETE && if [ $? == 0 ]; then break; else continue; fi
done;
aws cloudformation execute-change-set \
--stack-name app \
--change-set-name app-$DOCKBIT_DEPLOYMENT_SHA
@0xAhmed
0xAhmed / wait.sh
Last active November 15, 2016 17:35
AWS CloudFormation Stack: Wait for Change Set to execute
aws cloudformation wait stack-update-complete --stack-name=app
@0xAhmed
0xAhmed / Dockerfile
Created December 29, 2016 08:47
Dockerfile: Using ARG
FROM busybox
ARG app_version
RUN echo “Building $app_version”
@0xAhmed
0xAhmed / build-arg-results.txt
Last active December 29, 2016 09:05
Docker build: Using ARG
Sending build context to Docker daemon 1.2 MB
Step 1 : FROM busybox
---> 1efc1d465fd6
Step 2 : ARG app_version
---> Running in 94d310838e79
---> 576425d2c33e
Removing intermediate container 94d310838e79
Step 3 : RUN echo “Building $app_version”
---> Running in 7683d34558d1
“Building 1.0”
@0xAhmed
0xAhmed / Dockerfile
Created December 29, 2016 08:55
Docker build: Using ENV
FROM busybox
ENV feature_enabled false
CMD sh -c 'if [ "$feature_enabled" = true ]; then echo "Feature activated"; else echo "Feature not activated"; fi'
@0xAhmed
0xAhmed / build-env-results.txt
Created December 29, 2016 08:56
Docker build: Using ENV results
$ docker build -t my_app .
$ docker run -e feature_enabled=true my_app
Feature activated
@0xAhmed
0xAhmed / Dockerfile.template
Created December 29, 2016 08:58
Dockerfile template: Ruby versions
FROM ruby:%%RUBY_VERSION%%
CMD ruby --version
@0xAhmed
0xAhmed / render.sh
Created December 29, 2016 09:01
Render Dockerfile.template
#!/bin/bash
render() {
sedStr="
s!%%RUBY_VERSION%%!$version!g;
"
sed -r "$sedStr" $1
}
@0xAhmed
0xAhmed / build-template-results.txt
Created December 29, 2016 09:13
Docker build: Dockerfile render results
$ ls
2.1 2.3 Dockerfile.template render.sh
$ cd 2.1 && docker build -t my_app:2.1 .
Sending build context to Docker daemon 2.048 kB
Step 1 : FROM ruby:2.1
---> 2903b59d264e
Step 2 : CMD ruby --version
---> Running in cea80b05db0f
---> 08c4ae2b2188
Removing intermediate container cea80b05db0f