Use local marker and scan services only once
This commit is contained in:
		
							
								
								
									
										13
									
								
								abra
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								abra
									
									
									
									
									
								
							@ -503,14 +503,21 @@ output_version_summary() {
 | 
			
		||||
  echo "  Versions:"
 | 
			
		||||
 | 
			
		||||
  CONSENT_TO_UPDATE=$abra___update
 | 
			
		||||
  IS_AN_UPDATE="false"
 | 
			
		||||
  UNABLE_TO_DETECT="false"
 | 
			
		||||
 | 
			
		||||
  local -a IS_AN_UPDATE="false"
 | 
			
		||||
  local -a UNABLE_TO_DETECT="false"
 | 
			
		||||
  local -a CHECKED_SERVICES # array
 | 
			
		||||
 | 
			
		||||
  IFS=':' read -ra COMPOSE_FILES <<< "$COMPOSE_FILE"
 | 
			
		||||
  for COMPOSE in "${COMPOSE_FILES[@]}"; do
 | 
			
		||||
    SERVICES=$($YQ e '.services | keys | .[]' "${APP_DIR}/${COMPOSE}")
 | 
			
		||||
 | 
			
		||||
    for SERVICE in $SERVICES; do
 | 
			
		||||
      if [[ "${CHECKED_SERVICES[@]}" =~ "${SERVICE}" ]]; then
 | 
			
		||||
        debug "already inspected ${STACK_NAME}_${SERVICE} for versions, skipping..."
 | 
			
		||||
        continue
 | 
			
		||||
      fi
 | 
			
		||||
 | 
			
		||||
      filter="{{index .Spec.Labels \"coop-cloud.$STACK_NAME.$SERVICE.version\" }}"
 | 
			
		||||
      label=$(docker service inspect -f "$filter" "${STACK_NAME}_${SERVICE}" 2>/dev/null)
 | 
			
		||||
 | 
			
		||||
@ -532,11 +539,11 @@ output_version_summary() {
 | 
			
		||||
          IS_AN_UPDATE="true"
 | 
			
		||||
          echo "      to de deployed: $(tput setaf 1)$app_version ($app_digest)$(tput sgr0)"
 | 
			
		||||
        fi
 | 
			
		||||
 | 
			
		||||
      else
 | 
			
		||||
        warning "Unable to detect deployed version of ${STACK_NAME}_${SERVICE}, please proceed with caution"
 | 
			
		||||
        UNABLE_TO_DETECT="true"
 | 
			
		||||
      fi
 | 
			
		||||
      CHECKED_SERVICES+=("$SERVICE")
 | 
			
		||||
    done
 | 
			
		||||
  done
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user