mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-20 08:40:50 +00:00
Test runner script and corresponding Dockerfile and docker-compose.
This commit is contained in:
parent
578b18af84
commit
be64f57f7b
38
docker/server/local.Dockerfile
Normal file
38
docker/server/local.Dockerfile
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
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"]
|
@ -0,0 +1,12 @@
|
|||||||
|
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
|
31
docker/test/test_runner.sh
Executable file
31
docker/test/test_runner.sh
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
#!/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
|
30
docker/test/test_runner_docker_compose.yaml
Normal file
30
docker/test/test_runner_docker_compose.yaml
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
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}
|
Loading…
Reference in New Issue
Block a user