Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run docker push right after docker build finished #3

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
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
32 changes: 9 additions & 23 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -46,17 +46,13 @@ set -e
BACKUP_PATH=`pwd`
cd $PATH_TO_SEARCH

# Build images
BUILT_IMAGES=()


IFS=$'\n'
for DOCKER_FILE in `find * -regex '.*Dockerfile$'`; do
MESSAGE="Building container for file $DOCKER_FILE"
echo "##teamcity[blockOpened name='$MESSAGE']"


# getting parts of image name
# getting parts of image name
NAME_PARTS=`echo $DOCKER_FILE | sed -e 's/\/*\.*Dockerfile$//g' -e 's/ /_/g' -e 's/\//,/g' | tr '[:upper:]' '[:lower:]'`

IFS=',' read -r -a NAME_PARTS_ARRAY <<< "$NAME_PARTS"
Expand Down Expand Up @@ -105,7 +101,6 @@ for DOCKER_FILE in `find * -regex '.*Dockerfile$'`; do

echo "IMAGE_NAME: '$IMAGE_NAME'"


#Building
CONTEXT=$(dirname "${DOCKER_FILE}")
DOCKER_FILE_ABS=`pwd`"/$DOCKER_FILE"
Expand All @@ -116,28 +111,19 @@ for DOCKER_FILE in `find * -regex '.*Dockerfile$'`; do
eval $BUILD_CMD
echo "Add image '$IMAGE_NAME' to array for push"

BUILT_IMAGES+=("$IMAGE_NAME")
cd $PATH_TO_SEARCH

echo "##teamcity[blockClosed name='$MESSAGE']"
done

# Unique names for images
eval BUILT_IMAGES=($(printf "%q\n" "${BUILT_IMAGES[@]}" | sort -u))

# Push images
for IMAGE_NAME in ${BUILT_IMAGES[@]}; do
echo "##teamcity[blockOpened name='Push image $IMAGE_NAME']"
docker push "$IMAGE_NAME"
echo "##teamcity[blockClosed name='Push image $IMAGE_NAME']"

if [ "$REMOVE_CACHE" = true ]; then
echo "##teamcity[blockOpened name='Remove image $IMAGE_NAME']"
docker rmi -f "$IMAGE_NAME"
echo "##teamcity[blockClosed name='Remove image $IMAGE_NAME']"
fi

cd $PATH_TO_SEARCH
done

# Remove local images
if [ "$REMOVE_CACHE" = true ]; then
for IMAGE_NAME in ${BUILT_IMAGES[@]}; do
echo "##teamcity[blockOpened name='Remove image $IMAGE_NAME']"
docker rmi -f "$IMAGE_NAME"
echo "##teamcity[blockClosed name='Remove image $IMAGE_NAME']"
done
fi
cd $BACKUP_PATH