@@ -12,20 +12,27 @@ function getTags() {
12
12
curl -s " https://registry.hub.docker.com/v2/repositories/${REPOSITORY} /tags/" | jq " .results[].name" > " ${TAGS_FILE} "
13
13
}
14
14
15
+ function extractName() {
16
+ REPOSITORY=$1
17
+ PROJECT=${REPOSITORY##*/ }
18
+ echo " ${PROJECT/ [-]/ _} "
19
+ }
20
+
15
21
function restartContainer() {
16
22
REPOSITORY=$1
17
- COMMAND=" $2 "
23
+ DOCKER_OPTIONS=" $2 "
24
+ NAME=` extractName ${REPOSITORY} `
18
25
echo " New version of ${REPOSITORY} available. Deploying..."
19
- docker stop $( docker ps -q --filter ancestor =${REPOSITORY } )
20
- docker rm $( docker ps -q --filter status=exited --filter ancestor =${REPOSITORY } )
21
- docker rmi $( docker images -q --filter dangling=true --filter ancestor =${REPOSITORY } )
26
+ docker stop $( docker ps -q --filter name =${NAME } )
27
+ docker rm $( docker ps -q --filter status=exited --filter name =${NAME } )
28
+ docker rmi $( docker images -q --filter dangling=true --filter name =${NAME } )
22
29
docker pull ${REPOSITORY}
23
- eval " ${COMMAND } ${REPOSITORY} "
30
+ eval " docker run --restart=always -d --name= ${NAME} ${DOCKER_OPTIONS } ${REPOSITORY} "
24
31
}
25
32
26
33
function checkForNewVersion() {
27
34
REPOSITORY=$1
28
- COMMAND =" $2 "
35
+ DOCKER_OPTIONS =" $2 "
29
36
CURRENT_TAGS_FILE=` tagsFile ${REPOSITORY} " current" `
30
37
NEW_TAGS_FILE=` tagsFile ${REPOSITORY} " new" `
31
38
if [ -f ${CURRENT_TAGS_FILE} ];
@@ -36,19 +43,19 @@ function checkForNewVersion() {
36
43
if [ " ${FILES_DIFF} " != " " ];
37
44
then
38
45
getTags ${REPOSITORY} ${CURRENT_TAGS_FILE}
39
- restartContainer " ${REPOSITORY} " " ${COMMAND } "
46
+ restartContainer " ${REPOSITORY} " " ${DOCKER_OPTIONS } "
40
47
fi
41
48
else
42
49
getTags ${REPOSITORY} ${CURRENT_TAGS_FILE}
43
- restartContainer " ${REPOSITORY} " " ${COMMAND } "
50
+ restartContainer " ${REPOSITORY} " " ${DOCKER_OPTIONS } "
44
51
fi
45
52
}
46
53
47
54
48
55
DOCKER_HUB_REPOSITORY=$1
49
- COMMAND =" $2 "
56
+ DOCKER_OPTIONS =" $2 "
50
57
51
- checkForNewVersion ${DOCKER_HUB_REPOSITORY} " ${COMMAND } "
58
+ checkForNewVersion ${DOCKER_HUB_REPOSITORY} " ${DOCKER_OPTIONS } "
52
59
53
60
54
61
0 commit comments