Skip to content

Commit 39facad

Browse files
committed
Improve deploy and fix warnings
1 parent e4c60a3 commit 39facad

9 files changed

Lines changed: 94 additions & 84 deletions

File tree

Containerfile.codebattle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,4 +83,4 @@ EXPOSE ${PORT}
8383
WORKDIR /opt/app
8484
COPY --from=compile-image /opt/release .
8585
COPY Makefile Makefile
86-
CMD exec /opt/app/bin/codebattle start
86+
CMD ["/opt/app/bin/codebattle", "start"]

Containerfile.runner

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,4 @@ EXPOSE ${PORT}
4848
WORKDIR /opt/app
4949
COPY --from=compile-image /opt/release .
5050
COPY Makefile Makefile
51-
CMD exec /opt/app/bin/runner start
51+
CMD ["/opt/app/bin/runner", "start"]

Makefile

Lines changed: 78 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,83 @@
1-
ROOT_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
2-
include $(ROOT_DIR)make-compose.mk
3-
41
BUILDX_OUTPUT ?= --load
52

3+
compose:
4+
docker compose up app
5+
6+
compose-d:
7+
docker compose up -d app
8+
9+
compose-build:
10+
docker compose build --build-arg GIT_HASH=$(shell git rev-parse HEAD) app
11+
12+
compose-down:
13+
docker compose down -v || true
14+
15+
compose-test-code-checkers:
16+
docker compose run --rm --name codebattle_app app mix test image_executor
17+
18+
compose-test-fe:
19+
docker compose run --rm --name codebattle_app app /bin/sh -c 'cd /app/apps/codebattle && pnpm test'
20+
21+
compose-test:
22+
docker compose run --rm --name codebattle_app app mix test --exclude image_executor
23+
24+
compose-kill:
25+
docker compose kill
26+
27+
compose-bash:
28+
docker compose run app bash
29+
30+
compose-install-mix:
31+
docker compose run --rm --name codebattle_app app mix deps.get
32+
33+
compose-install-pnpm:
34+
docker compose run --rm --name codebattle_app app /bin/sh -c 'cd /app/apps/codebattle && pnpm install && pnpm run build:mem'
35+
36+
compose-install: compose-install-mix compose-install-pnpm
37+
38+
compose-setup: compose-down compose-build compose-install compose-db-setup
39+
40+
compose-db-setup:
41+
docker compose run --rm --name codebattle_app app mix ecto.setup
42+
43+
compose-db-migrate:
44+
docker compose run --rm --name codebattle_app app mix ecto.migrate
45+
46+
compose-lint: compose-mix-format compose-mix-credo compose-lint-js-fix
47+
48+
compose-mix-format:
49+
docker compose run --rm --name codebattle_app app mix format
50+
51+
compose-mix-credo:
52+
docker compose run app mix credo
53+
54+
compose-lint-js-fix:
55+
docker compose run --rm --name codebattle_app app /bin/sh -c 'cd /app/apps/codebattle && pnpm run lint --fix'
56+
57+
compose-console:
58+
docker compose run --rm --name codebattle_app app iex -S mix
59+
60+
compose-restart:
61+
docker compose restart
62+
63+
compose-stop:
64+
docker compose stop
65+
66+
compose-logs:
67+
docker compose logs -f --tail=100
68+
69+
compose-compile:
70+
docker compose run --rm --name codebattle_app app mix compile
71+
72+
compose-build-images:
73+
docker compose run --rm --name codebattle_app app mix images.build ${lang}
74+
75+
compose-pull-images:
76+
docker compose run --rm --name codebattle_app app mix images.pull ${lang}
77+
78+
compose-push-images:
79+
docker compose run --rm --name codebattle_app app mix images.push ${lang}
80+
681
pg:
782
docker compose up -d db-local
883

File renamed without changes.

k8s/app-chart/templates/runner_deployment.yaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,12 @@ spec:
99
matchLabels:
1010
app: "runner"
1111
strategy:
12+
type: {{ default "RollingUpdate" .Values.runner.updateStrategy.type }}
13+
{{- if eq (default "RollingUpdate" .Values.runner.updateStrategy.type) "RollingUpdate" }}
1214
rollingUpdate:
13-
maxUnavailable: 0
14-
maxSurge: 1
15+
maxUnavailable: {{ default 0 .Values.runner.updateStrategy.rollingUpdate.maxUnavailable }}
16+
maxSurge: {{ default 1 .Values.runner.updateStrategy.rollingUpdate.maxSurge }}
17+
{{- end }}
1518
template:
1619
metadata:
1720
labels:

k8s/app-chart/values.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,11 @@ runner:
5454
replicaCount: 1
5555
antiAffinity:
5656
required: true
57+
updateStrategy:
58+
type: RollingUpdate
59+
rollingUpdate:
60+
maxUnavailable: 0
61+
maxSurge: 1
5762
# Deployment or DaemonSet
5863
type: Deployment
5964
image:

k8s/envs/simple/values.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ runner:
2020
replicaCount: 1
2121
antiAffinity:
2222
required: false
23+
updateStrategy:
24+
type: Recreate
2325

2426
zigRunners:
2527
strategy: simple

make-compose.mk

Lines changed: 0 additions & 77 deletions
This file was deleted.

mix.exs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,12 @@ defmodule CodebattleUmbrella.MixProject do
2727
releases: [
2828
codebattle: [
2929
applications: [codebattle: :permanent],
30+
runtime_config_path: "config/runtime.exs",
3031
validate_compile_env: false
3132
],
3233
runner: [
3334
applications: [runner: :permanent],
35+
runtime_config_path: "config/runtime.exs",
3436
validate_compile_env: false
3537
]
3638
]

0 commit comments

Comments
 (0)