Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 53 additions & 10 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,24 +30,67 @@ jobs:
setup_remote_docker
-
checkout
-
run:
name: Docker login
command: |
echo -n ${DOCKER_PASSWORD} | docker login -u ${DOCKER_USERNAME} --password-stdin
-
run:
name: Build docker image
command: |
docker-build -v $VERSION -l "$LATESTS" "$NAMESPACE/$PROJECT" \
--build-arg release=${CIRCLE_TAG:-build} \
--build-arg version=${VERSION%%-*} \
-f Dockerfile ./
SHORT_GIT_HASH=$(echo $CIRCLE_SHA1 | cut -c -7)
DATE_BUILD=$(date +'%Y-%m-%d')

case "${CIRCLE_BRANCH}" in
master|develop|devops)
docker image build -f Dockerfile \
--build-arg release=${CIRCLE_TAG:-build} \
--build-arg version=${VERSION%%-*} \
--build-arg GIT_HASH=$SHORT_GIT_HASH --build-arg DATE_BUILD=$DATE_BUILD \
--build-arg BRANCH=${CIRCLE_BRANCH} \
-t actionml/spark:latest ./
;;
*)
;;
esac
-
run:
name: Publish docker image
command: |
# conditionaly skip pushes
( echo "$PUSH_NAMESPACES" | grep -qw "${CIRCLE_PROJECT_USERNAME}" ) || exit 0
[ -n "${CIRCLE_TAG}" ] || exit 0
# push and update microbadger
docker-push -r "^$NAMESPACE/$PROJECT:?.*" && \
curl -XPOST "https://hooks.microbadger.com/images/${NAMESPACE}/${PROJECT}/${MICROBADGER_TOKEN}"
SHORT_GIT_HASH=$(echo $CIRCLE_SHA1 | cut -c -7)
DATE_BUILD=$(date +'%Y-%m-%d')

case "${CIRCLE_BRANCH}" in
"master")
docker image push actionml/spark:latest
curl -XPOST "https://hooks.microbadger.com/images/${NAMESPACE}/${PROJECT}/${MICROBADGER_TOKEN}"
;;
"develop")

docker tag actionml/spark:latest actionml/spark:${CIRCLE_BRANCH}
docker image push actionml/spark:${CIRCLE_BRANCH}

docker tag actionml/spark:latest actionml/spark:${CIRCLE_BRANCH}-$SHORT_GIT_HASH
docker image push actionml/spark:${CIRCLE_BRANCH}-$SHORT_GIT_HASH

docker tag actionml/spark:latest actionml/spark:${CIRCLE_BRANCH}-$DATE_BUILD
docker image push actionml/spark:${CIRCLE_BRANCH}-$DATE_BUILD
;;
"devops")
docker tag actionml/spark:latest actionml/spark:${CIRCLE_BRANCH}
docker image push actionml/spark:${CIRCLE_BRANCH}

docker tag actionml/spark:latest actionml/spark:${CIRCLE_BRANCH}-$SHORT_GIT_HASH
docker image push actionml/spark:${CIRCLE_BRANCH}-$SHORT_GIT_HASH

docker tag actionml/spark:latest actionml/spark:${CIRCLE_BRANCH}-$DATE_BUILD
docker image push actionml/spark:${CIRCLE_BRANCH}-$DATE_BUILD
;;
*)
;;
esac

workflows:
version: 2
default:
Expand Down
11 changes: 10 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,21 @@ FROM openjdk:8-alpine3.8

ARG version
ARG release
ARG GIT_HASH
ARG DATE_BUILD
ARG BRANCH


LABEL com.actionml.spark.vendor=ActionML \
com.actionml.spark.version=$version \
com.actionml.spark.release=$release

ENV BRANCH=${BRANCH}
ENV GIT_HASH=${GIT_HASH}
ENV DATE_BUILD=${DATE_BUILD}

ENV SPARK_HOME=/spark \
SPARK_PGP_KEYS="DB0B21A012973FD0 7C6C105FFC8ED089 FD8FFD4C3A0D5564"
SPARK_PGP_KEYS="6EC5F1052DF08FF4 DCE4BFD807461E96"

RUN adduser -Ds /bin/bash -h ${SPARK_HOME} spark && \
apk add --no-cache bash tini libc6-compat linux-pam krb5 krb5-libs && \
Expand Down