123456789101112131415161718192021222324252627282930313233343536373839 |
- FROM golang:1.15.1 AS builder
- ARG VERSION
- ARG PLUGIN_TYPE
- ARG PLUGIN_NAME
- COPY . /go/kuiper
- WORKDIR /go/kuiper
- RUN set -e -u -x \
- && apt-get update \
- && apt-get install -y pkg-config libczmq-dev jq zip --assume-yes apt-utils
- RUN set -e -u -x \
- && mkdir -p _plugins/$PLUGIN_TYPE/$PLUGIN_NAME \
- && for lib in $(cat etc/$PLUGIN_TYPE/$PLUGIN_NAME.json | jq -r ".libs[]"); do go get $lib; done \
- && case $PLUGIN_NAME in \
- influxdb ) \
- go build --buildmode=plugin -tags plugins -o plugins/$PLUGIN_TYPE/$PLUGIN_NAME/$PLUGIN_NAME@$VERSION.so plugins/$PLUGIN_TYPE/$PLUGIN_NAME/$PLUGIN_NAME.go \
- ;; \
- tdengine ) \
- if [ "$(uname -m)" = "x86_64" ]; then \
- wget "https://www.taosdata.com/download/download-all.php?pkgType=tdengine_linux&pkgName=TDengine-client-2.0.6.0-Linux-x64.tar.gz" -O /tmp/TDengine-client-2.0.6.0.tar.gz; \
- fi; \
- if [ "$(uname -m)" = "aarch64" ]; then \
- wget "https://www.taosdata.com/download/download-all.php?pkgType=tdengine_linux&pkgName=TDengine-client-2.0.6.0-Linux-aarch64.tar.gz" -O /tmp/TDengine-client-2.0.6.0.tar.gz; \
- fi; \
- tar -zxvf /tmp/TDengine-client-2.0.6.0.tar.gz \
- && cd TDengine-client-2.0.6.0 && ./install_client.sh && cd - \
- && go build --buildmode=plugin -tags plugins -o plugins/$PLUGIN_TYPE/$PLUGIN_NAME/$PLUGIN_NAME@$VERSION.so plugins/$PLUGIN_TYPE/$PLUGIN_NAME/$PLUGIN_NAME.go \
- ;; \
- * ) \
- go build --buildmode=plugin -o plugins/$PLUGIN_TYPE/$PLUGIN_NAME/$PLUGIN_NAME@$VERSION.so plugins/$PLUGIN_TYPE/$PLUGIN_NAME/$PLUGIN_NAME.go \
- ;; \
- esac \
- && if [ -f "etc/$PLUGIN_TYPE/$PLUGIN_NAME.yaml" ]; then cp etc/$PLUGIN_TYPE/$PLUGIN_NAME.yaml plugins/$PLUGIN_TYPE/$PLUGIN_NAME; fi \
- && cd plugins/$PLUGIN_TYPE/$PLUGIN_NAME \
- && zip -r ${PLUGIN_NAME}_$(go version | grep -o "linux/.*" | sed -r 's linux/(.*) \1 g').zip .
|