提交 be64f57f 编写于 作者: V Vasily Nemkov 提交者: proller

Test runner script and corresponding Dockerfile and docker-compose.

上级 578b18af
FROM ubuntu:18.04
ARG gosu_ver=1.10
ARG CLICKHOUSE_PACKAGES_DIR
COPY ${CLICKHOUSE_PACKAGES_DIR}/clickhouse-*.deb /packages/
# installing via apt to simulate real-world scenario, where user installs deb package and all it's dependecies automatically.
RUN apt update; \
DEBIAN_FRONTEND=noninteractive \
apt install -y \
/packages/clickhouse-common-static_*.deb \
/packages/clickhouse-server_*.deb \
locales ;\
rm -rf /packages
ADD https://github.com/tianon/gosu/releases/download/${gosu_ver}/gosu-amd64 /bin/gosu
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
RUN mkdir /docker-entrypoint-initdb.d
COPY server/docker_related_config.xml /etc/clickhouse-server/config.d/
COPY server/entrypoint.sh /entrypoint.sh
RUN chmod +x \
/entrypoint.sh \
/bin/gosu
EXPOSE 9000 8123 9009
VOLUME /var/lib/clickhouse
ENV CLICKHOUSE_CONFIG /etc/clickhouse-server/config.xml
ENTRYPOINT ["/entrypoint.sh"]
FROM ubuntu:18.10
ARG CLICKHOUSE_PACKAGES_DIR
COPY ${CLICKHOUSE_PACKAGES_DIR}/clickhouse-*.deb /packages/
RUN apt-get update ;\
DEBIAN_FRONTEND=noninteractive \
apt install -y /packages/clickhouse-common-static_*.deb \
/packages/clickhouse-client_*.deb \
/packages/clickhouse-test_*.deb \
wait-for-it; \
rm -rf /packages
#!/bin/sh
set -e
# Run tests in docker
# OR
# Build containers from deb packages, copying the tests from the source directory
readonly CLICKHOUSE_DOCKER_DIR="$(realpath ${1})"
readonly CLICKHOUSE_PACKAGES_DIR="${2}"
CLICKHOUSE_SERVER_IMAGE="${3}"
# Build test runner image
docker build \
-f "${CLICKHOUSE_DOCKER_DIR}/test/stateless/clickhouse-statelest-test-runner.Dockerfile" \
-t clickhouse-statelest-test-runner:local \
--build-arg CLICKHOUSE_PACKAGES_DIR="${CLICKHOUSE_PACKAGES_DIR}" \
"${CLICKHOUSE_DOCKER_DIR}"
# Build server image (optional) from local packages
if [ -z "${CLICKHOUSE_SERVER_IMAGE}" ]; then
CLICKHOUSE_SERVER_IMAGE="yandex/clickhouse_server:local"
docker build \
-f "${CLICKHOUSE_DOCKER_DIR}/server/local.Dockerfile" \
-t "${CLICKHOUSE_SERVER_IMAGE}" \
--build-arg CLICKHOUSE_PACKAGES_DIR=${CLICKHOUSE_PACKAGES_DIR} \
"${CLICKHOUSE_DOCKER_DIR}"
fi
CLICKHOUSE_SERVER_IMAGE="${CLICKHOUSE_SERVER_IMAGE}" docker-compose -f "${CLICKHOUSE_DOCKER_DIR}/test/test_runner_docker_compose.yaml" run test-runner
\ No newline at end of file
version: "2"
services:
clickhouse-server:
image: ${CLICKHOUSE_SERVER_IMAGE}
expose:
- "8123"
- "9000"
- "9009"
restart: "no"
test-runner:
image: yandex/clickhouse-statelest-test-runner:local
restart: "no"
depends_on:
- clickhouse-server
environment:
# these are used by clickhouse-test to point clickhouse-client to the right server
- CLICKHOUSE_HOST=clickhouse-server
- CLICKHOUSE_PORT=8123
entrypoint:
- wait-for-it
- clickhouse-server:8123
- --
- clickhouse-test
# - -c
# - `which clickhouse-client`
- ${CLICKHOUSE_TEST_ARGS}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册