]> git.proxmox.com Git - ceph.git/blob - ceph/src/jaegertracing/opentelemetry-cpp/docker/build.sh
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / docker / build.sh
1 #!/bin/bash
2
3 # Copyright The OpenTelemetry Authors
4 # SPDX-License-Identifier: Apache-2.0
5
6 set -o errexit
7 set -o nounset
8 set -o pipefail
9
10 Help()
11 {
12 # Display Help
13 echo "Add description of the script functions here."
14 echo
15 echo "Syntax: scriptTemplate [-b|o|g|j]"
16 echo "options:"
17 echo "b Base image"
18 echo "o OpenTelemetry-cpp git tag"
19 echo "h Print Help."
20 echo "g gRPC git tag"
21 echo "t thrift version"
22 echo "j Parallel jobs"
23 echo
24 echo "how to use:"
25 echo
26 echo "docker create -ti --name otel otel-cpp-<base_image> bash"
27 echo "docker cp otel:/ ./"
28 echo "docker rm -f otel"
29 echo
30 echo "or:"
31 echo
32 echo "COPY --from=otel-cpp-<base_image> /usr"
33 }
34
35 base_image=${base_image:="alpine"}
36 grpc_git_tag=${grpc_git_tag:="v1.43.2"}
37 thrift_version=${thrift_version:="0.14.1"}
38 otel_git_tag=${otel_git_tag:="v1.3.0"}
39 cores=${cores:=1}
40
41 while getopts ":h:b:o:g:j:t:" option; do
42 case $option in
43 h) # display Help
44 Help
45 exit;;
46 b) # base image
47 base_image=$OPTARG
48 ;;
49 o) # OpenTelemetry-cpp git tag
50 otel_git_tag=$OPTARG
51 ;;
52 g) # gRPC git tag
53 grpc_git_tag=$OPTARG
54 ;;
55 t) # thrfit version
56 thrift_version=$OPTARG
57 ;;
58 j) # number of cores
59 cores=$OPTARG
60 ;;
61 \?)
62 Help
63 exit;;
64 esac
65 done
66
67 docker build -t base-${base_image}-dev -f Dockerfile.${base_image}.base .
68
69 pushd grpc/
70 docker build --build-arg BASE_IMAGE=base-${base_image}-dev \
71 --build-arg GRPC_GIT_TAG=${grpc_git_tag} \
72 --build-arg CORES=${cores} \
73 -t grpc-${base_image} -f Dockerfile .
74 popd
75
76 pushd thrift/
77 docker build --build-arg BASE_IMAGE=base-${base_image}-dev \
78 --build-arg THRIFT_VERSION=${thrift_version} \
79 --build-arg CORES=${cores} \
80 -t thrift-${base_image} -f Dockerfile .
81 popd
82
83 docker build --build-arg BASE_IMAGE=${base_image} \
84 --build-arg CORES=${cores} \
85 --build-arg OTEL_GIT_TAG=${otel_git_tag} \
86 -t otel-cpp-${base_image} -f Dockerfile .