49 lines
1.8 KiB
TOML
49 lines
1.8 KiB
TOML
[presets.docker]
|
|
conditions = ["{{ 'Dockerfile' | file }}"]
|
|
variables.docker_name = "{{ project_name }}"
|
|
variables.docker_version = "{{ project_version }}"
|
|
variables.docker_repo = "{{ 'DOCKER_REPO' | env }}"
|
|
variables.docker_group = "{{ 'DOCKER_GROUP' | env }}"
|
|
variables.docker_image = "{% if docker_group | bool %}{{ docker_group }}/{% endif %}{{ docker_name }}"
|
|
variables.docker_tag = "{{ 'DOCKER_TAG' | env('latest') }}"
|
|
variables.docker_target = "{{ 'DOCKER_TARGET' | env }}"
|
|
variables.docker_target_arg = "{{ ('--target ' + docker_target) if docker_target else '' }}"
|
|
|
|
# build
|
|
[presets.docker.tasks.build.default]
|
|
commands = ["docker build {{ docker_target_arg }} -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"]
|