@@ -87,48 +87,49 @@ update_services() {
87
87
88
88
if ! DOCKER_CLI_EXPERIMENTAL=enabled docker " ${config_flag[@]} " manifest inspect $insecure_registry_flag " $image " > /dev/null; then
89
89
logger " Error updating service $name ! Image $image does not exist or it is not available"
90
- else
91
- logger " Trying to update service $name with image $image " " true"
92
-
93
- # shellcheck disable=SC2086
94
- if ! docker " ${config_flag[@]} " service update " $name " $detach_option $registry_auth $no_resolve_image_flag ${UPDATE_OPTIONS} --image=" $image " > /dev/null; then
95
- logger " Service $name update failed on $hostname !"
96
- if [[ " ${ROLLBACK_ON_FAILURE+x} " ]]; then
97
- logger " Rolling $name back"
98
- # shellcheck disable=SC2086
99
- docker " ${config_flag[@]} " service update " $name " $detach_option $registry_auth $no_resolve_image_flag ${ROLLBACK_OPTIONS} --rollback > /dev/null
100
- fi
101
- if [[ " $apprise_sidecar_url " != " " ]]; then
102
- title=" [Shepherd] Service $name update failed on $hostname "
103
- body=" $( date) Service $name failed to update to $( docker service inspect " $name " -f ' {{.Spec.TaskTemplate.ContainerSpec.Image}}' ) "
104
- curl -X POST -H " Content-Type: application/json" --data " {\" title\" : \" $title \" , \" body\" : \" $body \" }" " $apprise_sidecar_url "
105
- fi
106
- continue # continue with next service
90
+ continue # continue with next service
91
+ fi
92
+
93
+ logger " Trying to update service $name with image $image " " true"
94
+ # shellcheck disable=SC2086
95
+ if ! docker " ${config_flag[@]} " service update " $name " $detach_option $registry_auth $no_resolve_image_flag ${UPDATE_OPTIONS} --image=" $image " > /dev/null; then
96
+ logger " Service $name update failed on $hostname !"
97
+ if [[ " ${ROLLBACK_ON_FAILURE+x} " ]]; then
98
+ logger " Rolling $name back"
99
+ # shellcheck disable=SC2086
100
+ docker " ${config_flag[@]} " service update " $name " $detach_option $registry_auth $no_resolve_image_flag ${ROLLBACK_OPTIONS} --rollback > /dev/null
107
101
fi
102
+ if [[ " $apprise_sidecar_url " != " " ]]; then
103
+ title=" [Shepherd] Service $name update failed on $hostname "
104
+ body=" $( date) Service $name failed to update to $( docker service inspect " $name " -f ' {{.Spec.TaskTemplate.ContainerSpec.Image}}' ) "
105
+ curl -X POST -H " Content-Type: application/json" --data " {\" title\" : \" $title \" , \" body\" : \" $body \" }" " $apprise_sidecar_url "
106
+ fi
107
+ continue # continue with next service
108
+ fi
109
+
110
+ previousImage=$( docker service inspect " $name " -f ' {{.PreviousSpec.TaskTemplate.ContainerSpec.Image}}' )
111
+ currentImage=$( docker service inspect " $name " -f ' {{.Spec.TaskTemplate.ContainerSpec.Image}}' )
112
+ if [ " $previousImage " == " $currentImage " ]; then
113
+ logger " No updates to service $name !" " true"
114
+ continue # continue with next service
115
+ fi
116
+
117
+ logger " Service $name was updated!"
118
+ if [[ " $apprise_sidecar_url " != " " ]]; then
119
+ title=" [Shepherd] Service $name updated on $hostname "
120
+ body=" $( date) Service $name was updated from $previousImage to $currentImage "
121
+ curl -X POST -H " Content-Type: application/json" --data " {\" title\" : \" $title \" , \" body\" : \" $body \" }" " $apprise_sidecar_url "
122
+ fi
108
123
109
- previousImage=$( docker service inspect " $name " -f ' {{.PreviousSpec.TaskTemplate.ContainerSpec.Image}}' )
110
- currentImage=$( docker service inspect " $name " -f ' {{.Spec.TaskTemplate.ContainerSpec.Image}}' )
111
- if [ " $previousImage " == " $currentImage " ]; then
112
- logger " No updates to service $name !" " true"
113
- else
114
- logger " Service $name was updated!"
115
- if [[ " $apprise_sidecar_url " != " " ]]; then
116
- title=" [Shepherd] Service $name updated on $hostname "
117
- body=" $( date) Service $name was updated from $previousImage to $currentImage "
118
- curl -X POST -H " Content-Type: application/json" --data " {\" title\" : \" $title \" , \" body\" : \" $body \" }" " $apprise_sidecar_url "
119
- fi
120
-
121
- if [[ " $image_autoclean_limit " != " " ]]; then
122
- logger " Cleaning up old docker images, leaving last $image_autoclean_limit "
123
- img_name=$( docker service inspect " $name " -f ' {{.Spec.TaskTemplate.ContainerSpec.Image}}' | awk -F' :' ' {print $1}' )
124
- image_ids=$( docker images -aq --filter=reference=" $img_name " )
125
- image_ids_count=$( echo " $image_ids " | wc -w)
126
- if [[ $image_ids_count > $image_autoclean_limit ]]; then
127
- docker container prune -f
128
- read -ra images_to_remove < <( echo " $image_ids " | xargs -n 1 | tail -n $(( "$image_ids_count " - "$image_autoclean_limit ")) )
129
- docker rmi " ${images_to_remove[@]} "
130
- fi
131
- fi
124
+ if [[ " $image_autoclean_limit " != " " ]]; then
125
+ logger " Cleaning up old docker images, leaving last $image_autoclean_limit "
126
+ img_name=$( docker service inspect " $name " -f ' {{.Spec.TaskTemplate.ContainerSpec.Image}}' | awk -F' :' ' {print $1}' )
127
+ image_ids=$( docker images -aq --filter=reference=" $img_name " )
128
+ image_ids_count=$( echo " $image_ids " | wc -w)
129
+ if [[ $image_ids_count > $image_autoclean_limit ]]; then
130
+ docker container prune -f
131
+ read -ra images_to_remove < <( echo " $image_ids " | xargs -n 1 | tail -n $(( "$image_ids_count " - "$image_autoclean_limit ")) )
132
+ docker rmi " ${images_to_remove[@]} "
132
133
fi
133
134
fi
134
135
fi
0 commit comments