blob: 3d9af5ed71ebbb410b9fe9269e39ffdcef173ee1 (
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
############################################
# dovetail upload artifacts job
############################################
- project:
name: dovetail-artifacts-upload
project: 'dovetail'
jobs:
- 'dovetail-{image}-artifacts-upload-{stream}'
stream:
- master:
branch: '{stream}'
gs-pathname: ''
disabled: false
image:
- 'dovetail'
- 'functest'
- 'yardstick'
#############################################
# job template
#############################################
- job-template:
name: 'dovetail-{image}-artifacts-upload-{stream}'
disabled: '{obj:disabled}'
concurrent: true
properties:
- logrotate-default
- throttle:
enabled: true
max-total: 1
max-per-node: 1
option: 'project'
parameters:
- project-parameter:
project: '{project}'
branch: '{branch}'
- 'opnfv-build-ubuntu-defaults'
- dovetail-parameter:
gs-pathname: '{gs-pathname}'
image: '{image}'
branch: '{branch}'
scm:
- git-scm
builders:
- 'dovetail-builder-artifacts-upload'
- 'dovetail-workspace-cleanup'
####################
# parameter macros
####################
- parameter:
name: dovetail-parameter
parameters:
- string:
name: CACHE_DIR
default: $WORKSPACE/cache{gs-pathname}
description: "the cache to store packages downloaded"
- string:
name: STORE_URL
default: gs://artifacts.opnfv.org/dovetail{gs-pathname}
description: "LF artifacts url for storage of dovetail packages"
- string:
name: DOCKER_REPO_NAME
default: opnfv/{image}
description: "docker repo name"
- string:
name: DOCKER_TAG
default: latest
description: "docker image tag of which will be uploaded to artifacts"
- string:
name: STORE_FILE_NAME
default: image_{image}_{branch}_$BUILD_ID.docker
description: "stored file name"
####################################
#builders for dovetail project
####################################
- builder:
name: dovetail-builder-artifacts-upload
builders:
- shell:
!include-raw: ./dovetail-artifacts-upload.sh
- builder:
name: dovetail-workspace-cleanup
builders:
- shell: |
#!/bin/bash
set -o errexit
echo "Dovetail: cleanup cache used for storage downloaded packages"
/bin/rm -rf $CACHE_DIR
# Remove previous running containers if exist
if [[ -n "$(docker ps -a | grep $DOCKER_REPO_NAME)" ]]; then
echo "Removing existing $DOCKER_REPO_NAME containers..."
docker ps -a | grep $DOCKER_REPO_NAME | awk '{print $1}' | xargs docker rm -f
t=60
# Wait max 60 sec for containers to be removed
while [[ $t -gt 0 ]] && [[ -n "$(docker ps| grep $DOCKER_REPO_NAME)" ]]; do
sleep 1
let t=t-1
done
fi
# Remove existing images if exist
if [[ -n "$(docker images | grep $DOCKER_REPO_NAME)" ]]; then
echo "Docker images to remove:"
docker images | head -1 && docker images | grep $DOCKER_REPO_NAME
image_tags=($(docker images | grep $DOCKER_REPO_NAME | awk '{print $2}'))
for tag in "${image_tags[@]}"; do
if [[ -n "$(docker images|grep $DOCKER_REPO_NAME|grep $tag)" ]]; then
echo "Removing docker image $DOCKER_REPO_NAME:$tag..."
docker rmi -f $DOCKER_REPO_NAME:$tag
fi
done
fi
|