6
6
7
7
VERSION_URL=" https://raw.githubusercontent.com/elastic/logstash/master/ci/logstash_releases.json"
8
8
9
+ download_and_load_docker_snapshot_artifact () {
10
+ project=" ${1} "
11
+ stack_version=" ${ELASTIC_STACK_VERSION} "
12
+ case " ${DISTRIBUTION} " in
13
+ default) distribution_suffix=" " ;; # default has no suffix
14
+ * ) distribution_suffix=" ${DISTRIBUTION/*/ -}${DISTRIBUTION} " ;;
15
+ esac
16
+
17
+ artifact_type=" docker-image"
18
+ artifact_name_base=" ${project}${distribution_suffix} -${stack_version} -${artifact_type} "
19
+ echo " Downloading snapshot docker artifact: ${artifact_name_base} "
20
+
21
+ artifact_name_noarch=" ${artifact_name_base} .tar.gz"
22
+ artifact_name_arch=" ${artifact_name_base} -x86_64.tar.gz"
23
+
24
+ jq_extract_artifact_url=" .build.projects.\" ${project} \" .packages | (.\" ${artifact_name_noarch} \" // .\" ${artifact_name_arch} \" ) | .url"
25
+
26
+ artifact_list=$( curl --silent " https://artifacts-api.elastic.co/v1/versions/${stack_version} /builds/latest" )
27
+ artifact_url=$( echo " ${artifact_list} " | jq --raw-output " ${jq_extract_artifact_url} " )
28
+
29
+ if [[ " ${artifact_url} " == " null" ]]; then
30
+ echo " Failed to find '${artifact_name_noarch} '"
31
+ echo " Failed to find '${artifact_name_arch} '"
32
+ echo " Listing:"
33
+ echo " ${artifact_list} " | jq --raw-output " .build.projects.\" ${project} \" .packages | keys | map(select(contains(\" ${artifact_type} \" )))"
34
+ return 1
35
+ fi
36
+
37
+ echo " ${artifact_url} "
38
+
39
+ cd /tmp
40
+ curl " ${artifact_url} " > " ${project} -docker-image.tar.gz"
41
+ tar xfvz " ${project} -docker-image.tar.gz" repositories
42
+ echo " Loading ${project} docker image: "
43
+ cat repositories
44
+ docker load < " ${project} -docker-image.tar.gz"
45
+ rm " ${project} -docker-image.tar.gz"
46
+ cd -
47
+ }
48
+
9
49
if [ " $ELASTIC_STACK_VERSION " ]; then
10
50
echo " Fetching versions from $VERSION_URL "
11
51
VERSIONS=$( curl --silent $VERSION_URL )
@@ -23,43 +63,12 @@ if [ "$ELASTIC_STACK_VERSION" ]; then
23
63
export ELASTIC_STACK_VERSION=$ELASTIC_STACK_RETRIEVED_VERSION
24
64
fi
25
65
26
- if [[ " $DISTRIBUTION " = " oss" ]]; then
27
- export DISTRIBUTION_SUFFIX=" -oss"
28
- else
29
- export DISTRIBUTION_SUFFIX=" "
30
- fi
31
-
32
66
echo " Testing against version: $ELASTIC_STACK_VERSION "
33
67
34
68
if [[ " $ELASTIC_STACK_VERSION " = * " -SNAPSHOT" ]]; then
35
- cd /tmp
36
-
37
- jq=" .build.projects.\" logstash\" .packages.\" logstash$DISTRIBUTION_SUFFIX -$ELASTIC_STACK_VERSION -docker-image.tar.gz\" .url"
38
- result=$( curl --silent https://artifacts-api.elastic.co/v1/versions/$ELASTIC_STACK_VERSION /builds/latest | jq -r $jq )
39
- echo $result
40
- curl $result > logstash-docker-image.tar.gz
41
- tar xfvz logstash-docker-image.tar.gz repositories
42
- echo " Loading docker image: "
43
- cat repositories
44
- docker load < logstash-docker-image.tar.gz
45
- rm logstash-docker-image.tar.gz
46
- cd -
47
-
69
+ download_and_load_docker_snapshot_artifact " logstash"
48
70
if [ " $INTEGRATION " == " true" ]; then
49
-
50
- cd /tmp
51
-
52
- jq=" .build.projects.\" elasticsearch\" .packages.\" elasticsearch$DISTRIBUTION_SUFFIX -$ELASTIC_STACK_VERSION -docker-image.tar.gz\" .url"
53
- result=$( curl --silent https://artifacts-api.elastic.co/v1/versions/$ELASTIC_STACK_VERSION /builds/latest | jq -r $jq )
54
- echo $result
55
- curl $result > elasticsearch-docker-image.tar.gz
56
- tar xfvz elasticsearch-docker-image.tar.gz repositories
57
- echo " Loading docker image: "
58
- cat repositories
59
- docker load < elasticsearch-docker-image.tar.gz
60
- rm elasticsearch-docker-image.tar.gz
61
- cd -
62
-
71
+ download_and_load_docker_snapshot_artifact " elasticsearch"
63
72
fi
64
73
fi
65
74
0 commit comments