diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 18683084..4f5fd949 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,10 +7,11 @@ Build and test: services: - docker:dind before_script: - - apk add black py3-flake8 py3-isort docker-compose make + - apk add black py3-flake8 py3-isort make script: - cd contrib/docker - make build + - docker compose up -d db - make update-db - make test-all - cd ../.. diff --git a/contrib/docker/Makefile b/contrib/docker/Makefile index 7df1dfb0..9dc68f25 100644 --- a/contrib/docker/Makefile +++ b/contrib/docker/Makefile @@ -1,5 +1,3 @@ -DOCKER_EXEC = docker exec -CONTAINER = docker_debsources_1 MAKE = make -C /opt/debsources/ TEST_TARGETS = test test-all test-fast test-slow test-coverage SRC_TARGETS = all doc check clean test-online-app @@ -7,31 +5,31 @@ SRC_TARGETS = all doc check clean test-online-app .PHONY: build update-db run attach init-db $(SRC_TARGETS) $(TEST_TARGETS) build: - docker-compose build --pull + docker compose build --pull update-db: - docker-compose run debsources /opt/db-update + docker compose run app /opt/db-update run: - docker-compose up -d + docker compose up -d logs: - docker logs -f docker_debsources_1 + docker compose logs app stop: - docker-compose stop + docker compose stop start-apache: - $(DOCKER_EXEC) -it $(CONTAINER) apache2ctl start + docker compose exec -it app apache2ctl start attach: - $(DOCKER_EXEC) -it $(CONTAINER) /bin/bash + docker compose exec -it app /bin/bash init-db: - $(DOCKER_EXEC) $(CONTAINER) /opt/db-init + docker compose exec app /opt/db-init $(SRC_TARGETS): - $(DOCKER_EXEC) $(CONTAINER) $(MAKE) $@ + docker compose exec app $(MAKE) $@ $(TEST_TARGETS): run init-db - $(DOCKER_EXEC) $(CONTAINER) $(MAKE) $@ + docker compose exec app $(MAKE) $@ diff --git a/contrib/docker/config.ini b/contrib/docker/config.ini index f78b2006..ef25d860 100644 --- a/contrib/docker/config.ini +++ b/contrib/docker/config.ini @@ -5,7 +5,7 @@ # preferred. [DEFAULT] -db_uri: postgresql://docker:docker@db_1:5432/debsources +db_uri: postgresql://docker:docker@db:5432/debsources root_dir: /opt/debsources cache_dir: %(root_dir)s/testdata/cache local_dir: %(root_dir)s/local diff --git a/contrib/docker/docker-compose.yml b/contrib/docker/docker-compose.yml index 42cd5c62..573847cf 100644 --- a/contrib/docker/docker-compose.yml +++ b/contrib/docker/docker-compose.yml @@ -1,22 +1,24 @@ -db: - image: postgres:11 - environment: - POSTGRES_USER: docker - POSTGRES_PASSWORD: docker - POSTGRES_DB: debsources +name: debsources -debsources: - build: . - ports: - - "5000:5000" - - "5001:80" - volumes: - - "../../:/opt/debsources" - links: - - db - environment: - PGUSER: docker - PGPASSWORD: docker - PGHOST: db_1 - working_dir: /opt/debsources - command: /opt/run-web +services: + db: + image: postgres:11 + environment: + POSTGRES_USER: docker + POSTGRES_PASSWORD: docker + POSTGRES_DB: debsources + + app: + build: . + ports: + - "5000:5000" + - "5001:80" + volumes: + - "../../:/opt/debsources" + environment: + PGUSER: docker + PGPASSWORD: docker + PGHOST: db + PGPORT: 5432 + working_dir: /opt/debsources + command: /opt/run-web diff --git a/contrib/docker/scripts/db-init b/contrib/docker/scripts/db-init index 31bf5773..dcc5da83 100755 --- a/contrib/docker/scripts/db-init +++ b/contrib/docker/scripts/db-init @@ -1,11 +1,11 @@ #!/bin/bash echo "Waiting for PostgreSQL to launch on 5432..." -while ! nc -z db_1 5432; do +while ! nc -z ${PGHOST} ${PGPORT}; do sleep 0.1 done echo "PostgreSQL launched" echo "Creating Debsources DB schema..." -/opt/debsources/bin/debsources-dbadmin --createdb postgresql://docker:docker@db_1:5432/debsources +/opt/debsources/bin/debsources-dbadmin --createdb postgresql://${PGUSER}:${PGPASSWORD}@${PGHOST}:${PGPORT}/debsources echo "Debsources DB schema created" diff --git a/doc/testing.md b/doc/testing.md index d696e693..9c0fb2fc 100644 --- a/doc/testing.md +++ b/doc/testing.md @@ -19,8 +19,8 @@ You can run debsources test suite in a docker container using the following commands (containers must be running): $ cd contrib/docker - $ docker-compose build - $ docker-compose run debsources /opt/run-tests + $ docker compose build + $ docker compose run app /opt/run-tests Test attributes ---------------