diff --git a/Dockerfile b/bots/slack-deploy/Dockerfile similarity index 74% rename from Dockerfile rename to bots/slack-deploy/Dockerfile index b3358427..051de0d1 100644 --- a/Dockerfile +++ b/bots/slack-deploy/Dockerfile @@ -4,7 +4,7 @@ MAINTAINER Pete Cornish 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" diff --git a/bots/slack-items/Dockerfile b/bots/slack-items/Dockerfile new file mode 100644 index 00000000..c107f006 --- /dev/null +++ b/bots/slack-items/Dockerfile @@ -0,0 +1,11 @@ +FROM openjdk:8-jdk + +MAINTAINER Pete Cornish + +RUN mkdir -p /opt/corebot /opt/corebot/config + +ADD build/install/slack-items /opt/corebot + +WORKDIR "/opt/corebot" + +ENTRYPOINT [ "./bin/slack-items" ] diff --git a/docker-compose.yml b/docker-compose.yml index 776cb10a..b44fad92 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ version: '2' services: corebot: image: outofcoffee/corebot - build: . + build: ./bots/slack-deploy environment: SLACK_AUTH_TOKEN: "CHANGEME" SLACK_CHANNELS: "corebot" diff --git a/examples/compose/docker-compose.yml b/examples/compose/docker-compose.yml index adb908d5..bd323804 100644 --- a/examples/compose/docker-compose.yml +++ b/examples/compose/docker-compose.yml @@ -7,7 +7,7 @@ version: '2' services: corebot: image: outofcoffee/corebot - build: . + build: ./bots/slack-deploy environment: SLACK_AUTH_TOKEN: "CHANGEME" SLACK_CHANNELS: "general" diff --git a/scripts/docker-build.sh b/scripts/docker-build.sh index 6c97477a..28112d71 100755 --- a/scripts/docker-build.sh +++ b/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