By default, if a docker build job triggers and
there is another one running at the same time,
it will abort the job.
This adds a wait method with a timeout to avoid that.
Change-Id: Ica86885c60ce4137c85474ec4b7441ac5bab600c
Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
echo "--------------------------------------------------------"
echo
echo "--------------------------------------------------------"
echo
-
-if [[ -n $(ps -ef|grep 'docker build'|grep -v grep) ]]; then
- echo "There is already another build process in progress:"
- echo $(ps -ef|grep 'docker build'|grep -v grep)
- # Abort this job since it will collide and might mess up the current one.
- echo "Aborting..."
- exit 1
-fi
+count=30 # docker build jobs might take up to ~30 min
+while [[ -n `ps -ef|grep 'docker build'|grep -v grep` ]]; do
+ echo "Build in progress. Waiting..."
+ sleep 60
+ count=$(( $count - 1 ))
+ if [ $count -eq 0 ]; then
+ echo "Timeout. Aborting..."
+ exit 1
+ fi
+done
# Remove previous running containers if exist
if [[ -n "$(docker ps -a | grep $DOCKER_REPO_NAME)" ]]; then
# Remove previous running containers if exist
if [[ -n "$(docker ps -a | grep $DOCKER_REPO_NAME)" ]]; then