Skip to content

Commit 4b9f94c

Browse files
authored
Fix context (#51)
* Update mktest script * Update test docker files * Add test docker files * Fix context search * Handle missing parts * Add prod db test docker config * Add COMPOSE_FILE_ARGS_1_DEFAULT * Fix invalidate context when not found
1 parent fc6b20f commit 4b9f94c

13 files changed

+153
-31
lines changed

dockerc

Lines changed: 40 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -259,10 +259,12 @@ if [ "$NO_COMPOSE_FILE_ARGS" = false ]; then
259259

260260
ENV_FILE_ARGS=""
261261
PREFIX=""
262+
COMPOSE_FILE_ARGS_1_DEFAULT=""
262263
COMPOSE_FILE_ARGS_1=""
263264
PREFIX_1=""
264265
COMPOSE_FILE_ARGS_2=""
265266
PREFIX_2=""
267+
MISSING_PARTS=""
266268

267269
if [ -f "$dir/.env" ]; then
268270
ENV_FILE_ARGS="$ENV_FILE_ARGS --env-file $dir/.env"
@@ -273,7 +275,7 @@ if [ "$NO_COMPOSE_FILE_ARGS" = false ]; then
273275
fi
274276

275277
if [ -f "$dir/docker-compose.yml" ]; then
276-
COMPOSE_FILE_ARGS_1="$COMPOSE_FILE_ARGS_1 -f $dir/docker-compose.yml"
278+
COMPOSE_FILE_ARGS_1_DEFAULT=" -f $dir/docker-compose.yml"
277279
fi
278280

279281
if [ ! -z "$CONTEXT" ]; then
@@ -302,47 +304,62 @@ if [ "$NO_COMPOSE_FILE_ARGS" = false ]; then
302304
ENV_FILE_ARGS="$ENV_FILE_ARGS --env-file $dir/.env$PREFIX.local"
303305
fi
304306

305-
if [ ! -z "$COMPOSE_FILE_ARGS_1" ]; then
307+
if [ -z "$COMPOSE_FILE_ARGS_2" ]; then
306308

307309
# Look for docker-compose$PREFIX_1.$part.yml
308-
if [ -f "$dir/docker-compose$PREFIX_1.$part.yml" ]; then
309-
COMPOSE_FILE_ARGS_1="$COMPOSE_FILE_ARGS_1 -f $dir/docker-compose$PREFIX_1.$part.yml"
310-
PREFIX_1="$PREFIX_1.$part"
310+
if [ -f "$dir/docker-compose$PREFIX_1.$MISSING_PARTS$part.yml" ]; then
311+
COMPOSE_FILE_ARGS_1="$COMPOSE_FILE_ARGS_1 -f $dir/docker-compose$PREFIX_1.$MISSING_PARTS$part.yml"
312+
PREFIX_1="$PREFIX_1.$MISSING_PARTS$part"
313+
MISSING_PARTS=""
311314

312315
else
313316
# Part was not found, invalidate PREFIX_1
314-
COMPOSE_FILE_ARGS_1=""
315317
PREFIX_1=""
316318
fi
317319

318320
fi
319321

320-
if [ -z "$COMPOSE_FILE_ARGS_2" ] && [ -z "$PREFIX_2" ]; then
322+
if [ -z "$COMPOSE_FILE_ARGS_1" ]; then
321323

322-
# Look for docker-compose-$part.yml
323-
if [ -f "$dir/docker-compose-$part.yml" ]; then
324-
COMPOSE_FILE_ARGS_2="$COMPOSE_FILE_ARGS_2 -f $dir/docker-compose-$part.yml"
325-
PREFIX_2="-$part"
326-
fi
324+
if [ -z "$COMPOSE_FILE_ARGS_2" ]; then
325+
326+
if [ -z "$PREFIX_2" ]; then
327327

328-
elif [ ! -z "$COMPOSE_FILE_ARGS_2" ] && [ ! -z "$PREFIX_2" ]; then
328+
# Look for docker-compose-$part.yml
329+
if [ -f "$dir/docker-compose-$MISSING_PARTS$part.yml" ]; then
330+
COMPOSE_FILE_ARGS_2="$COMPOSE_FILE_ARGS_2 -f $dir/docker-compose-$MISSING_PARTS$part.yml"
331+
PREFIX_2="-$MISSING_PARTS$part"
332+
MISSING_PARTS=""
333+
fi
329334

330-
# Look for docker-compose$PREFIX_2.$part.yml
331-
if [ -f "$dir/docker-compose$PREFIX_2.$part.yml" ]; then
332-
COMPOSE_FILE_ARGS_2="$COMPOSE_FILE_ARGS_2 -f $dir/docker-compose$PREFIX_2.$part.yml"
333-
PREFIX_2="$PREFIX_2.$part"
335+
fi
334336

335337
else
336-
# Part was not found, invalidate PREFIX_2
337-
COMPOSE_FILE_ARGS_2=""
338-
PREFIX_2=""
338+
339+
if [ ! -z "$PREFIX_2" ]; then
340+
341+
# Look for docker-compose$PREFIX_2.$part.yml
342+
if [ -f "$dir/docker-compose$PREFIX_2.$part.yml" ]; then
343+
COMPOSE_FILE_ARGS_2="$COMPOSE_FILE_ARGS_2 -f $dir/docker-compose$PREFIX_2.$part.yml"
344+
PREFIX_2="$PREFIX_2.$part"
345+
346+
else
347+
# Part was not found, invalidate PREFIX_2
348+
PREFIX_2=""
349+
fi
350+
351+
fi
352+
339353
fi
340354

341355
fi
342356

343357
if [ -z "$PREFIX_1" ] && [ -z "$PREFIX_2" ]; then
344-
# Break loop if both are invalid
345-
break
358+
if [ -z "$MISSING_PARTS" ]; then
359+
MISSING_PARTS="$part."
360+
else
361+
MISSING_PARTS="$MISSING_PARTS$part."
362+
fi
346363
fi
347364

348365
done <<EOF
@@ -356,7 +373,7 @@ EOF
356373
break
357374

358375
elif [ ! -z "$PREFIX_1" ]; then
359-
COMPOSE_FILE_ARGS="$COMPOSE_FILE_ARGS_1"
376+
COMPOSE_FILE_ARGS="$COMPOSE_FILE_ARGS_1_DEFAULT$COMPOSE_FILE_ARGS_1"
360377
break
361378

362379
elif [ ! -z "$COMPOSE_FILE_ARGS_1" ]; then

files/test/docker-compose-db.prod.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
version: '3.4'
2+
services:
3+
app:
4+
# Build
5+
build:
6+
context: .
7+
dockerfile: Dockerfile
8+
# Deploy
9+
environment:
10+
COMPOSE_FILE: db.prod
11+
ports:
12+
- ${HTTP_PORT:-80}:80
13+
- ${HTTPS_PORT:-443}:443

files/test/docker-compose-db.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
version: '3.4'
2+
services:
3+
app:
4+
# Build
5+
build:
6+
context: .
7+
dockerfile: Dockerfile
8+
# Deploy
9+
environment:
10+
COMPOSE_FILE: db
11+
ENV_FILE: ${ENV_FILE:-}
12+
ENV_OK: ${ENV_OK:-ko}
13+
ENV_LOCAL_OK: ${ENV_LOCAL_OK:-ko}
14+
ENV_DEV_OK: ${ENV_DEV_OK:-ko}
15+
ENV_DEV_LOCAL_OK: ${ENV_DEV_LOCAL_OK:-ko}
16+
ENV_PROD_OK: ${ENV_PROD_OK:-ko}
17+
ENV_PROD_LOCAL_OK: ${ENV_PROD_LOCAL_OK:-ko}
18+
ENV_TOP_OK: ${ENV_TOP_OK:-ko}
19+
ENV_SUB_OK: ${ENV_SUB_OK:-ko}
20+
APP_ENV: ${APP_ENV:-}
21+
ports:
22+
- ${HTTP_PORT:-80}:80
23+
- ${HTTPS_PORT:-443}:443
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
version: '3.4'
2+
services:
3+
app:
4+
# Build
5+
build:
6+
context: .
7+
dockerfile: Dockerfile
8+
# Deploy
9+
environment:
10+
COMPOSE_FILE: deploy.prod
11+
ENV_FILE: ${ENV_FILE:-}
12+
ENV_OK: ${ENV_OK:-ko}
13+
ENV_LOCAL_OK: ${ENV_LOCAL_OK:-ko}
14+
ENV_DEV_OK: ${ENV_DEV_OK:-ko}
15+
ENV_DEV_LOCAL_OK: ${ENV_DEV_LOCAL_OK:-ko}
16+
ENV_PROD_OK: ${ENV_PROD_OK:-ko}
17+
ENV_PROD_LOCAL_OK: ${ENV_PROD_LOCAL_OK:-ko}
18+
ENV_TOP_OK: ${ENV_TOP_OK:-ko}
19+
ENV_SUB_OK: ${ENV_SUB_OK:-ko}
20+
APP_ENV: ${APP_ENV:-}
21+
ports:
22+
- ${HTTP_PORT:-80}:80
23+
- ${HTTPS_PORT:-443}:443

files/test/docker-compose-npm.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
version: '3.4'
2+
services:
3+
app:
4+
# Build
5+
build:
6+
context: .
7+
dockerfile: Dockerfile
8+
# Deploy
9+
environment:
10+
COMPOSE_FILE: npm
11+
ENV_FILE: ${ENV_FILE:-}
12+
ENV_OK: ${ENV_OK:-ko}
13+
ENV_LOCAL_OK: ${ENV_LOCAL_OK:-ko}
14+
ENV_DEV_OK: ${ENV_DEV_OK:-ko}
15+
ENV_DEV_LOCAL_OK: ${ENV_DEV_LOCAL_OK:-ko}
16+
ENV_PROD_OK: ${ENV_PROD_OK:-ko}
17+
ENV_PROD_LOCAL_OK: ${ENV_PROD_LOCAL_OK:-ko}
18+
ENV_TOP_OK: ${ENV_TOP_OK:-ko}
19+
ENV_SUB_OK: ${ENV_SUB_OK:-ko}
20+
APP_ENV: ${APP_ENV:-}
21+
ports:
22+
- ${HTTP_PORT:-80}:80
23+
- ${HTTPS_PORT:-443}:443

files/test/docker-compose.dev.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version: "3.8"
1+
version: '3.4'
22
services:
33
app:
44
# Build
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
version: '3.4'
2+
services:
3+
app:
4+
# Build
5+
build:
6+
context: .
7+
dockerfile: Dockerfile
8+
target: top
9+
# Deploy
10+
environment:
11+
COMPOSE_FILE: top
12+
ports:
13+
- ${HTTP_PORT:-80}:80
14+
- ${HTTPS_PORT:-443}:443

files/test/docker-compose.prod.db.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
version: '3.4'
2+
services:
3+
app:
4+
# Deploy
5+
environment:
6+
COMPOSE_FILE: prod.db

files/test/docker-compose.prod.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version: "3.8"
1+
version: '3.4'
22
services:
33
app:
44
# Build

files/test/docker-compose.top.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version: "3.8"
1+
version: '3.4'
22
services:
33
app:
44
# Build

0 commit comments

Comments
 (0)