mirror of
https://github.com/Unleash/unleash.git
synced 2024-10-28 19:06:12 +01:00
1338496445
## About the changes This adds a Makefile to make it easy to test migrations from one version of Unleash to another. The script depends on [docker compose V2](https://docs.docker.com/compose/migrate/) **Before starting**: make sure you're inside test-migrations folder and run `make clean` to be in a clean state. We can run 2 versions of Unleash side by side with a shared database (the second version will apply migrations to the DB): ```shell UNLEASH_DOCKER_IMAGE=unleashorg/unleash-server:5.6.10 make start-unleash # defaults to port 4242 UNLEASH_DOCKER_IMAGE=unleashorg/unleash-server:latest make start-another-unleash # defaults to port 4243 make test # run basic UI tests against port 4242 (first image) EXPOSED_PORT=4243 make test # run basic UI tests against port 4243 ``` This also enables us to test our local repository with our code of Unleash server running at port 4244 (`EXPOSE_PORT=4444 make run-current` if you want to change it): ```shell UNLEASH_DOCKER_IMAGE=unleashorg/unleash-server:5.6.10 make start-unleash # defaults to port 4242 make run-current # exposes the current backend at 4244 ``` You can also connect the latest UI to any of the ports specified above, starting the UI at port 3000: ```shell EXPOSED_PORT=4242 make run-current-ui # exposed port defaults to 4244 which is the port of the current backend ```
65 lines
1.8 KiB
YAML
65 lines
1.8 KiB
YAML
version: "3.9"
|
|
services:
|
|
unleash:
|
|
image: ${UNLEASH_DOCKER_IMAGE:-unleashorg/unleash-server:latest} # this is the latest stable release
|
|
pull_policy: "always"
|
|
ports:
|
|
- "${EXPOSED_PORT:-4242}:4242"
|
|
environment:
|
|
DATABASE_URL: "postgres://postgres:unleash@db/unleash"
|
|
DATABASE_SSL: "false"
|
|
LOG_LEVEL: "debug"
|
|
INIT_ADMIN_API_TOKENS: "*:*.unleash-insecure-admin-api-token"
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test: wget --no-verbose --tries=1 --spider http://localhost:4242/health || exit 1
|
|
interval: 1s
|
|
timeout: 1m
|
|
retries: 5
|
|
start_period: 15s
|
|
|
|
another-unleash:
|
|
image: ${UNLEASH_DOCKER_IMAGE:-unleashorg/unleash-server:latest} # this is the latest stable release
|
|
pull_policy: "always"
|
|
ports:
|
|
- "${EXPOSED_PORT:-4243}:4242"
|
|
environment:
|
|
DATABASE_URL: "postgres://postgres:unleash@db/unleash"
|
|
DATABASE_SSL: "false"
|
|
LOG_LEVEL: "debug"
|
|
INIT_ADMIN_API_TOKENS: "*:*.unleash-insecure-admin-api-token"
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test: wget --no-verbose --tries=1 --spider http://localhost:4242/health || exit 1
|
|
interval: 1s
|
|
timeout: 1m
|
|
retries: 5
|
|
start_period: 15s
|
|
db:
|
|
ports:
|
|
- "5432:5432"
|
|
expose:
|
|
- "5432"
|
|
image: postgres:16
|
|
environment:
|
|
POSTGRES_DB: "unleash"
|
|
# trust incoming connections blindly (DON'T DO THIS IN PRODUCTION!)
|
|
POSTGRES_HOST_AUTH_METHOD: "trust"
|
|
healthcheck:
|
|
test:
|
|
[
|
|
"CMD",
|
|
"pg_isready",
|
|
"--username=postgres",
|
|
"--host=127.0.0.1",
|
|
"--port=5432",
|
|
]
|
|
interval: 2s
|
|
timeout: 1m
|
|
retries: 5
|
|
start_period: 10s
|