Files
project-manager/project_manager/preset/default/docker.toml
T
2026-09-15 17:21:23 +03:00

47 lines
1.8 KiB
TOML

[presets.docker]
conditions = ["{{ 'Dockerfile' | file }}"]
variables.docker_name = "{{ 'pyproject.toml' | read | get('project.name') or 'package.json' | read | get('name') }}"
variables.docker_version = "{{ 'pyproject.toml' | read | get('project.version') or 'package.json' | read | get('version') }}"
variables.docker_repo = "{{ '.env' | read | get('DOCKER_REPO') }}"
variables.docker_group = "{{ '.env' | read | get('DOCKER_GROUP') }}"
variables.docker_image = "{% if docker_group | bool %}{{ docker_group }}/{% endif %}{{ docker_name }}"
variables.docker_tag = "{{ '.env' | read | get('DOCKER_TAG') or 'latest' }}"
# build
[presets.docker.tasks.build.default]
commands = ["docker build -t {{ docker_image }} . -f Dockerfile"]
# publish version
[presets.docker.tasks.publish.version]
conditions = ["{{ docker_version and docker_repo }}"]
commands = [
"docker tag {{ docker_image }} {{ docker_repo }}/{{ docker_image }}:{{ docker_version }}",
"docker push {{ docker_repo }}/{{ docker_image }}:{{ docker_version }}",
]
# publish tag
[presets.docker.tasks.publish.tag]
conditions = ["{{ docker_tag and docker_repo }}"]
commands = [
"docker tag {{ docker_image }} {{ docker_repo }}/{{ docker_image }}:{{ docker_tag }}",
"docker push {{ docker_repo }}/{{ docker_image }}:{{ docker_tag }}",
]
# save
[presets.docker.tasks.save.default]
variables.docker_output = "./dist"
commands = [
"mkdir -p {{ docker_output }}",
"docker save --output {{ docker_output }}/{{ docker_name }}-{{ docker_version }}.tar {{ docker_image }}",
]
# run
[presets.docker.tasks.run.compose]
conditions = ["{{ 'docker-compose.yaml' | file }}"]
commands = ["docker compose -f docker-compose.yaml up"]
# develop
[presets.docker.tasks.develop.compose]
conditions = ["{{ 'docker-compose-develop.yaml' | file }}"]
commands = ["docker compose -f docker-compose-develop.yaml up --build --watch"]