dockerfiles/buildAndPush.sh

22 lines
687 B
Bash
Executable File

#!/bin/sh
files="$(git diff HEAD~ --name-only -- '*Dockerfile*')"
write_registry="r.daemons.it"
for file in $files
do
dockerfile="$(echo $file | sed 's/.*\///')"
docker_name="$(echo $file | sed 's/\/.*//')"
tag="$(echo $dockerfile | sed 's/.*_//')"
# Asume that when using multiple stages, the good one is the one called
# production
docker build --target production -t $write_registry/$docker_name:$tag -t \
$write_registry/$docker_name:latest -f $file .
echo $DOCKER_PASSWORD | docker login -u $DOCKER_USER --password-stdin r.daemons.it
docker push $write_registry/$docker_name:$tag
docker push $write_registry/$docker_name:latest
done