forked from jaegertracing/jaeger
-
Notifications
You must be signed in to change notification settings - Fork 1
/
package-deploy.sh
executable file
·73 lines (63 loc) · 2.49 KB
/
package-deploy.sh
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
#!/bin/bash
# stage-file copies the file $1 with the specified path $2
# if no file exists it will silently continue
function stage-file {
if [ -f $1 ]; then
echo "Copying $1 to $2"
cp $1 $2
else
echo "$1 does not exist. Aborting."
exit 1
fi
}
# stage-platform-files stages the different the platform ($1) into the package
# staging dir ($2). If you pass in a file extension ($3) it will be used when
# copying on the source
function stage-platform-files {
local PLATFORM=$1
local PACKAGE_STAGING_DIR=$2
local FILE_EXTENSION=$3
stage-file ./cmd/all-in-one/all-in-one-$PLATFORM $PACKAGE_STAGING_DIR/jaeger-all-in-one$FILE_EXTENSION
stage-file ./cmd/agent/agent-$PLATFORM $PACKAGE_STAGING_DIR/jaeger-agent$FILE_EXTENSION
stage-file ./cmd/query/query-$PLATFORM $PACKAGE_STAGING_DIR/jaeger-query$FILE_EXTENSION
stage-file ./cmd/collector/collector-$PLATFORM $PACKAGE_STAGING_DIR/jaeger-collector$FILE_EXTENSION
stage-file ./cmd/ingester/ingester-$PLATFORM $PACKAGE_STAGING_DIR/jaeger-ingester$FILE_EXTENSION
stage-file ./examples/hotrod/hotrod-$PLATFORM $PACKAGE_STAGING_DIR/example-hotrod$FILE_EXTENSION
}
# package pulls built files for the platform ($2) and compresses it using the compression ($1).
# If you pass in a file extension ($3) it will be look for binaries with that extension.
function package {
local COMPRESSION=$1
local PLATFORM=$2
local FILE_EXTENSION=$3
local PACKAGE_STAGING_DIR=jaeger-$VERSION-$PLATFORM
mkdir $PACKAGE_STAGING_DIR
stage-platform-files $PLATFORM $PACKAGE_STAGING_DIR $FILE_EXTENSION
if [ "$COMPRESSION" == "zip" ]
then
local ARCHIVE_NAME="$PACKAGE_STAGING_DIR.zip"
echo "Packaging into $ARCHIVE_NAME:"
zip -r ./deploy/$ARCHIVE_NAME $PACKAGE_STAGING_DIR
else
local ARCHIVE_NAME="$PACKAGE_STAGING_DIR.tar.gz"
echo "Packaging into $ARCHIVE_NAME:"
tar -czvf ./deploy/$ARCHIVE_NAME $PACKAGE_STAGING_DIR
fi
rm -rf $PACKAGE_STAGING_DIR
}
set -e
DEPLOY_STAGING_DIR=./deploy-staging
VERSION="$(make echo-version | awk 'match($0, /([0-9]*\.[0-9]*\.[0-9]*)$/) { print substr($0, RSTART, RLENGTH) }')"
echo "Working on version: $VERSION"
# make needed directories
rm -rf deploy $DEPLOY_STAGING_DIR
mkdir deploy
mkdir $DEPLOY_STAGING_DIR
package tar linux-amd64
package tar darwin-amd64
package tar darwin-arm64
package tar windows-amd64 .exe
package zip windows-amd64 .exe
package tar linux-s390x
package tar linux-arm64
package tar linux-ppc64le