Skip to content

Commit

Permalink
Build multiple Docker images.
Browse files Browse the repository at this point in the history
  • Loading branch information
outofcoffee committed Jun 11, 2017
1 parent c7da59c commit fc47b81
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 16 deletions.
2 changes: 1 addition & 1 deletion Dockerfile → bots/slack-deploy/Dockerfile
Expand Up @@ -4,7 +4,7 @@ MAINTAINER Pete Cornish <outofcoffee@gmail.com>

RUN mkdir -p /opt/corebot /opt/corebot/config

ADD bots/slack-deploy/build/install/slack-deploy /opt/corebot
ADD build/install/slack-deploy /opt/corebot

WORKDIR "/opt/corebot"

Expand Down
11 changes: 11 additions & 0 deletions bots/slack-items/Dockerfile
@@ -0,0 +1,11 @@
FROM openjdk:8-jdk

MAINTAINER Pete Cornish <outofcoffee@gmail.com>

RUN mkdir -p /opt/corebot /opt/corebot/config

ADD build/install/slack-items /opt/corebot

WORKDIR "/opt/corebot"

ENTRYPOINT [ "./bin/slack-items" ]
2 changes: 1 addition & 1 deletion docker-compose.yml
Expand Up @@ -3,7 +3,7 @@ version: '2'
services:
corebot:
image: outofcoffee/corebot
build: .
build: ./bots/slack-deploy
environment:
SLACK_AUTH_TOKEN: "CHANGEME"
SLACK_CHANNELS: "corebot"
Expand Down
2 changes: 1 addition & 1 deletion examples/compose/docker-compose.yml
Expand Up @@ -7,7 +7,7 @@ version: '2'
services:
corebot:
image: outofcoffee/corebot
build: .
build: ./bots/slack-deploy
environment:
SLACK_AUTH_TOKEN: "CHANGEME"
SLACK_CHANNELS: "general"
Expand Down
46 changes: 33 additions & 13 deletions scripts/docker-build.sh
@@ -1,36 +1,56 @@
#!/usr/bin/env bash
set -e

SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
DOCKERFILE_PATH="${SCRIPT_DIR}/../bots/slack-"
IMAGE_BASE_NAME="outofcoffee/corebot"
IMAGE_TAG="${1-dev}"
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
IMAGES=(
"deploy"
"items"
)

function buildImage()
{
IMAGE_NAME="${IMAGE_BASE_NAME}:${IMAGE_TAG}"
echo -e "\nBuilding Docker image: ${IMAGE_NAME}"
IMAGE_SUFFIX="$2"
IMAGE_NAME="${IMAGE_BASE_NAME}${IMAGE_SUFFIX}:${IMAGE_TAG}"

echo -e "\nBuilding Docker image: ${IMAGE_NAME}"
cd $1
docker build --tag ${IMAGE_NAME} .
}


function pushImage()
{
IMAGE_SUFFIX="$1"
IMAGE_NAME="${IMAGE_BASE_NAME}${IMAGE_SUFFIX}:${IMAGE_TAG}"

echo -e "\nLogging in to Docker registry..."
docker login --username "${DOCKER_USERNAME}" --password "${DOCKER_PASSWORD}" --email deprecated@example.com

IMAGE_NAME="${IMAGE_BASE_NAME}:${IMAGE_TAG}"
echo -e "\nPushing Docker image: ${IMAGE_NAME}"

docker push ${IMAGE_NAME}
}

echo -e "\nBuilding image from local source"
buildImage "${SCRIPT_DIR}/../"
function buildPushImage()
{
IMAGE_DIR="$1"
echo -e "\nBuilding '${IMAGE_DIR}' image"

if [[ "deploy" == "${IMAGE_DIR}" ]]; then
IMAGE_SUFFIX=""
else
IMAGE_SUFFIX="-${IMAGE_DIR}"
fi
buildImage "${DOCKERFILE_PATH}${IMAGE_DIR}" ${IMAGE_SUFFIX}

if [[ "dev" == "${IMAGE_TAG}" ]]; then
echo -e "\nSkipped pushing dev image"
else
pushImage ${IMAGE_SUFFIX}
fi
}

if [[ "dev" == "${IMAGE_TAG}" ]]; then
echo -e "\nSkipped pushing dev image"
else
pushImage
fi
for IMAGE_DIR in "${IMAGES[@]}"; do
buildPushImage ${IMAGE_DIR}
done

0 comments on commit fc47b81

Please sign in to comment.