mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-20 00:30:49 +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