chore: build docker image for data generator

Closes #3322.
pull/24376/head
Marco Neumann 2021-12-07 17:08:02 +01:00
parent 9c0fd4360d
commit 6153e3df0b
3 changed files with 24 additions and 8 deletions

View File

@ -344,21 +344,32 @@ jobs:
- run:
name: Cargo release build with target arch set for CRoaring
command: |
COMMIT_SHA=$(git rev-parse --short HEAD)
COMMIT_SHA="$(git rev-parse --short HEAD)"
RUST_VERSION=$(sed -E -ne 's/channel = "(.*)"/\1/p' rust-toolchain.toml)
RUST_VERSION="$(sed -E -ne 's/channel = "(.*)"/\1/p' rust-toolchain.toml)"
BRANCH="$(echo "$CIRCLE_BRANCH" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/_/g')"
docker buildx build \
--build-arg RUST_VERSION="$RUST_VERSION" \
--build-arg RUSTFLAGS="-C target-feature=+avx2 -C link-arg=-fuse-ld=lld" \
--progress plain \
--tag quay.io/influxdb/iox:"$COMMIT_SHA" \
--tag quay.io/influxdb/iox:"$(echo "$CIRCLE_BRANCH" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/_/g')" \
--tag quay.io/influxdb/iox:"$BRANCH" \
.
docker buildx build \
--build-arg FEATURES="" \
--build-arg PACKAGE="iox_data_generator" \
--build-arg RUST_VERSION="$RUST_VERSION" \
--build-arg RUSTFLAGS="-C target-feature=+avx2 -C link-arg=-fuse-ld=lld" \
--progress plain \
--tag quay.io/influxdb/iox_data_generator:"$COMMIT_SHA" \
--tag quay.io/influxdb/iox_data_generator:"$BRANCH" \
.
docker run -it --rm quay.io/influxdb/iox:$COMMIT_SHA debug print-cpu
docker push --all-tags quay.io/influxdb/iox
docker push --all-tags quay.io/influxdb/iox_data_generator
echo "export COMMIT_SHA=${COMMIT_SHA}" >> $BASH_ENV
# linking might take a while and doesn't produce CLI output

View File

@ -16,11 +16,13 @@ WORKDIR /influxdb_iox
ARG CARGO_INCREMENTAL=yes
ARG PROFILE=release
ARG FEATURES=aws,gcp,azure,jemalloc_replacing_malloc,kafka
ARG PACKAGE=influxdb_iox
ARG ROARING_ARCH="haswell"
ARG RUSTFLAGS=""
ENV CARGO_INCREMENTAL=$CARGO_INCREMENTAL \
PROFILE=$PROFILE \
FEATURES=$FEATURES \
PACKAGE=$PACKAGE \
ROARING_ARCH=$ROARING_ARCH \
RUSTFLAGS=$RUSTFLAGS
@ -29,9 +31,9 @@ RUN \
--mount=type=cache,id=influxdb_iox_git,sharing=locked,target=/usr/local/cargo/git \
--mount=type=cache,id=influxdb_iox_target,sharing=locked,target=/influxdb_iox/target \
du -cshx /usr/local/cargo/registry /usr/local/cargo/git /influxdb_iox/target && \
cargo build --target-dir /influxdb_iox/target --profile="$PROFILE" --no-default-features --features="$FEATURES" && \
objcopy --compress-debug-sections "target/$PROFILE/influxdb_iox" && \
cp "/influxdb_iox/target/$PROFILE/influxdb_iox" /root/influxdb_iox && \
cargo build --target-dir /influxdb_iox/target --package="$PACKAGE" --profile="$PROFILE" --no-default-features --features="$FEATURES" && \
objcopy --compress-debug-sections "target/$PROFILE/$PACKAGE" && \
cp "/influxdb_iox/target/$PROFILE/$PACKAGE" /root/$PACKAGE && \
du -cshx /usr/local/cargo/registry /usr/local/cargo/git /influxdb_iox/target
@ -50,7 +52,10 @@ USER iox
RUN mkdir ~/.influxdb_iox
RUN ls -la ~/.influxdb_iox
COPY --from=build /root/influxdb_iox /usr/bin/influxdb_iox
ARG PACKAGE=influxdb_iox
ENV PACKAGE=$PACKAGE
COPY --from=build "/root/$PACKAGE" "/usr/bin/$PACKAGE"
COPY docker/entrypoint.sh /usr/bin/entrypoint.sh
ENV INFLUXDB_IOX_SERVER_MODE=database

View File

@ -7,4 +7,4 @@ for i in "${!args[@]}"; do
args[$i]="$(echo "${args[$i]}" | envsubst)"
done
exec influxdb_iox "${args[@]}"
exec "$PACKAGE" "${args[@]}"