blob: 73b9a4b2fd16f8226d4f415de0b2327e76214afb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
#!/bin/bash
artifact="${1}"
delete_old_image() {
image_name="${1}"
digest=$(curl -k -u '{{ pillar["registry"]["username"] }}:{{ pillar["registry"]["password"] }}' -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' https://{{ pillar["registry"]["url"] }}/v2/${image_name}/manifests/latest | jq '.config.digest' | awk -F\" '{print $2}')
curl -k -u '{{ pillar["registry"]["username"] }}:{{ pillar["registry"]["password"] }}' -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' -X DELETE https://{{ pillar["registry"]["url"] }}/v2/${image_name}/manifests/${digest}
}
for i in $(docker images | grep -v CREATED | awk '{print $3}'); do
docker rmi --force ${i}
done
docker container prune -f
pushd {{ pillar["ci"]["build_dir"] }} 2>/dev/null
echo "Login to docker registry"
docker login --username {{ pillar["registry"]["username"] }} --password {{ pillar["registry"]["password"] }} {{ pillar["registry"]["url"] }}
if [ "${artifact}" == "baseimage" ]; then
delete_old_image "{{ pillar["baseimage"]["image_name"] }}"
{{ pillar["baseimage"]["build_dir"] }}/build.sh
elif [ "${artifact}" == "database" ]; then
delete_old_image "{{ pillar["database"]["image_name"] }}"
{{ pillar["database"]["build_dir"] }}/build.sh
elif [ "${artifact}" == "admin-api-server" ]; then
delete_old_image "{{ pillar["admin_api_server"]["image_name"] }}_{{ pillar["admin_api_server"]["branch"] }}"
{{ pillar["admin_api_server"]["build_dir"] }}/build.sh
elif [ "${artifact}" == "customer-api-server" ]; then
delete_old_image "{{ pillar["customer_api_server"]["image_name"] }}_{{ pillar["customer_api_server"]["branch"] }}"
{{ pillar["customer_api_server"]["build_dir"] }}/build.sh
elif [ "${artifact}" == "admin-web-ui" ]; then
delete_old_image "{{ pillar["admin_web_ui"]["image_name"] }}_{{ pillar["admin_web_ui"]["branch"] }}"
{{ pillar["admin_web_ui"]["build_dir"] }}/build.sh
elif [ "${artifact}" == "customer-web-ui" ]; then
delete_old_image "{{ pillar["customer_web_ui"]["image_name"] }}_{{ pillar["customer_web_ui"]["branch"] }}"
{{ pillar["customer_web_ui"]["build_dir"] }}/build.sh
elif [ "${artifact}" == "job-scheduler-server" ]; then
delete_old_image "{{ pillar["job_scheduler_server"]["image_name"] }}_{{ pillar["job_scheduler_server"]["branch"] }}"
{{ pillar["job_scheduler_server"]["build_dir"] }}/build.sh
elif [ "${artifact}" == "workflow-server" ]; then
delete_old_image "{{ pillar["workflow_server"]["image_name"] }}_{{ pillar["workflow_server"]["branch"] }}"
{{ pillar["workflow_server"]["build_dir"] }}/build.sh
else
delete_old_image "{{ pillar["baseimage"]["image_name"] }}"
delete_old_image "{{ pillar["database"]["image_name"] }}"
delete_old_image "{{ pillar["admin_api_server"]["image_name"] }}_{{ pillar["admin_api_server"]["branch"] }}"
delete_old_image "{{ pillar["customer_api_server"]["image_name"] }}_{{ pillar["customer_api_server"]["branch"] }}"
delete_old_image "{{ pillar["admin_web_ui"]["image_name"] }}_{{ pillar["admin_web_ui"]["branch"] }}"
delete_old_image "{{ pillar["customer_web_ui"]["image_name"] }}_{{ pillar["customer_web_ui"]["branch"] }}"
delete_old_image "{{ pillar["job_scheduler_server"]["image_name"] }}_{{ pillar["job_scheduler_server"]["branch"] }}"
delete_old_image "{{ pillar["workflow_server"]["image_name"] }}_{{ pillar["workflow_server"]["branch"] }}"
{{ pillar["baseimage"]["build_dir"] }}/build.sh
{{ pillar["database"]["build_dir"] }}/build.sh
{{ pillar["admin_api_server"]["build_dir"] }}/build.sh
{{ pillar["customer_api_server"]["build_dir"] }}/build.sh
{{ pillar["admin_web_ui"]["build_dir"] }}/build.sh
{{ pillar["customer_web_ui"]["build_dir"] }}/build.sh
{{ pillar["job_scheduler_server"]["build_dir"] }}/build.sh
{{ pillar["workflow_server"]["build_dir"] }}/build.sh
fi
popd 2>/dev/null
exit 0
|