Commit 7ec512f6 authored by Yann D'Isanto's avatar Yann D'Isanto
Browse files

fix(keep-retired-app): dont retire unexisting app and unmap routes with correct path

parent ed4f7f46
Loading
Loading
Loading
Loading
+25 −17
Original line number Diff line number Diff line
@@ -323,16 +323,19 @@ stages:
    fi
    cf_push_args+=("-f" "$manifestfile")

    if [[ "$appname" == "$tmpappname" && -n "$ENV_RETIRED_APP_SUFFIX" ]]
    if [[ "$appname" == "$tmpappname" && -n "$ENV_RETIRED_APP_SUFFIX" ]] && app_present "$appname"
    then

      # keep retired version for non blue/green deployment
      app_retired_ver="${appname}-$ENV_RETIRED_APP_SUFFIX"
      log_info "--- delete previous retired version \\e[33;1m${app_retired_ver}\\e[0m..."
      cf delete "$app_retired_ver" -f
      log_info "--- retiring current app (rename \\e[33;1m${appname}\\e[0m to \\e[33;1m${app_retired_ver}\\e[0m)..."
      cf rename "$appname" "$app_retired_ver"
      unmap_app_routes "$app_retired_ver"
      cf stop "$app_retired_ver"
      app_retired_name="${appname}-$ENV_RETIRED_APP_SUFFIX"

      log_info "--- delete previous retired version \\e[33;1m${app_retired_name}\\e[0m..."
      cf delete "$app_retired_name" -f
      log_info "--- retiring current app (rename \\e[33;1m${appname}\\e[0m to \\e[33;1m${app_retired_name}\\e[0m)..."
      cf rename "$appname" "$app_retired_name"
      
      unmap_app_routes "$app_retired_name"
      cf stop "$app_retired_name"
    fi

    pre_start="$CF_SCRIPTS_DIR/cf-pre-start.sh"
@@ -501,14 +504,17 @@ stages:
      log_info "--- \\e[32mblue-green [4/5]\\e[0m: delete \\e[33;1m${app_target}\\e[0m..."
      cf delete "$app_target" -f
    else
      app_retired_ver="${app_target}-$ENV_RETIRED_APP_SUFFIX"
      app_retired_name="${app_target}-$ENV_RETIRED_APP_SUFFIX"
      log_info "--- \\e[32mblue-green [4/5]\\e[0m: retiring current app..."
      log_info "--- delete previous retired app \\e[33;1m${app_retired_ver}\\e[0m..."
      cf delete "$app_retired_ver" -f
      log_info "--- rename \\e[33;1m${app_target}\\e[0m as \\e[33;1m${app_retired_ver}\\e[0m..."
      cf rename "$app_target" "$app_retired_ver"
      unmap_app_routes "$app_retired_ver"
      cf stop "$app_retired_ver"

      log_info "--- delete previous retired app \\e[33;1m${app_retired_name}\\e[0m..."
      cf delete "$app_retired_name" -f

      log_info "--- rename \\e[33;1m${app_target}\\e[0m as \\e[33;1m${app_retired_name}\\e[0m..."
      cf rename "$app_target" "$app_retired_name"
      unmap_app_routes "$app_retired_name"
      cf stop "$app_retired_name"

    fi
    echo

@@ -647,8 +653,10 @@ stages:
    for route in $app_routes
    do
      route_hostname=$(echo "$route" | cut -d '.' -f1)
      route_domain=$(echo "$route" | cut -d '.' -f2- | cut -d '/' -f1)
      cf unmap-route "$app_name" "$route_domain" --hostname="$route_hostname"
      route_domain_and_path=$(echo "$route" | cut -d '.' -f2-)
      route_domain=$(echo "$route_domain_and_path" | cut -d '/' -f1)
      route_path=$(echo "$route_domain_and_path" | cut -d '/' -s -f2-)
      cf unmap-route "$app_name" "$route_domain" --hostname="$route_hostname" ${route_path:+--path $route_path}
    done
  }