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
+ distribution_suffix=" ${DISTRIBUTION/*/ -}${DISTRIBUTION} "
13
+
14
+ artifact_type=" docker-image"
15
+ artifact_name_base=" ${project}${distribution_suffix} -${stack_version} -${artifact_type} "
16
+ echo " Downloading snapshot docker artifact: ${artifact_name_base} "
17
+
18
+ artifact_name_noarch=" ${artifact_name_base} .tar.gz"
19
+ artifact_name_arch=" ${artifact_name_base} -x86_64.tar.gz"
20
+
21
+ jq_extract_artifact_url=" .build.projects.\" ${project} \" .packages | (.\" ${artifact_name_noarch} \" // .\" ${artifact_name_arch} \" ) | .url"
22
+
23
+ artifact_list=$( curl --silent " https://artifacts-api.elastic.co/v1/versions/${stack_version} /builds/latest" )
24
+ artifact_url=$( echo " ${artifact_list} " | jq --raw-output " ${jq_extract_artifact_url} " )
25
+
26
+ if [[ " ${artifact_url} " == " null" ]]; then
27
+ echo " Failed to find '${artifact_name_noarch} '"
28
+ echo " Failed to find '${artifact_name_arch} '"
29
+ echo " Listing:"
30
+ echo " ${artifact_list} " | jq --raw-output " .build.projects.\" ${project} \" .packages | keys | map(select(contains(\" ${artifact_type} \" )))"
31
+ return 1
32
+ fi
33
+
34
+ echo " ${artifact_url} "
35
+
36
+ cd /tmp
37
+ curl " ${artifact_url} " > " ${project} -docker-image.tar.gz"
38
+ tar xfvz " ${project} -docker-image.tar.gz" repositories
39
+ echo " Loading ${project} docker image: "
40
+ cat repositories
41
+ docker load < " ${project} -docker-image.tar.gz"
42
+ rm " ${project} -docker-image.tar.gz"
43
+ cd -
44
+ }
45
+
9
46
if [ " $ELASTIC_STACK_VERSION " ]; then
10
47
echo " Fetching versions from $VERSION_URL "
11
48
VERSIONS=$( curl --silent $VERSION_URL )
@@ -23,43 +60,12 @@ if [ "$ELASTIC_STACK_VERSION" ]; then
23
60
export ELASTIC_STACK_VERSION=$ELASTIC_STACK_RETRIEVED_VERSION
24
61
fi
25
62
26
- if [[ " $DISTRIBUTION " = " oss" ]]; then
27
- export DISTRIBUTION_SUFFIX=" -oss"
28
- else
29
- export DISTRIBUTION_SUFFIX=" "
30
- fi
31
-
32
63
echo " Testing against version: $ELASTIC_STACK_VERSION "
33
64
34
65
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
-
66
+ download_and_load_docker_snapshot_artifact " logstash" || exit 1
48
67
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
-
68
+ download_and_load_docker_snapshot_artifact " elasticsearch" || exit 1
63
69
fi
64
70
fi
65
71
0 commit comments