Repository navigation
Expand file tree
/
Copy pathdocker-compose-release-test.yaml
More file actions
71 lines (66 loc) · 2.27 KB
/
Copy pathdocker-compose-release-test.yaml
File metadata and controls
71 lines (66 loc) · 2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# Release-test stack. The app runs the DISTRIBUTABLE release
# (build/release/icehrm.zip) baked into the image (Dockerfile-release-test) —
# the code lives inside the container, not on a bind mount — against a FRESH,
# EMPTY MySQL (no init script) so a new release can be smoke-tested like a clean
# install. All services use dedicated ports/names so this stack can run
# side-by-side with the dev/prod/testing stacks AND with the icehrm-pro
# release-test stack (which owns the 91xx ports).
#
# Build the release first (ant build / release.sh) so build/release/icehrm.zip
# exists, then:
# npm run release:test:fresh # wipe db volume + images, rebuild from the zip, start clean
# npm run release:test:up # (re)build from the current zip and start
# npm run release:test:down # stop + remove containers (keeps db volume)
#
# App / installer: http://localhost:9290/app/install/ (empty DB -> run the installer)
# phpMyAdmin: http://localhost:9291/
# MailHog: http://localhost:9292/
services:
mysql:
image: mysql:8.0.32
container_name: icehrm-ce-release-test-mysql
ports:
- 9407:3306
environment:
MYSQL_ROOT_PASSWORD: IceHrmR00t
MYSQL_USER: dev
MYSQL_PASSWORD: dev
MYSQL_DATABASE: icehrm
volumes:
# Named volume only — NO init script. `down -v` wipes it for a fresh DB.
- ce_release_test_db_data:/var/lib/mysql
icehrm:
# Bakes build/release/icehrm.zip into /var/www/html. Requires the base
# runtime image icehrm-ce-release-runtime (npm release:test:* build it first).
build:
context: .
dockerfile: Dockerfile-release-test
image: icehrm-ce-release-test-app
container_name: icehrm-ce-release-test-app
depends_on:
- mysql
ports:
- 9290:8080
extra_hosts:
- "dascore.org:192.168.65.254"
- "admin.dascore.org:192.168.65.254"
phpmyadmin:
container_name: icehrm-ce-release-test-pma
depends_on:
- mysql
image: phpmyadmin
ports:
- "9291:80"
environment:
PMA_HOSTS: mysql
PMA_PORT: 3306
PMA_USER: dev
PMA_PASSWORD: dev
mailhog:
container_name: icehrm-ce-release-test-mailhog
image: ajoergensen/mailhog
ports:
- "1326:1025"
- "9292:8025"
volumes:
ce_release_test_db_data: