feat: use jinja
This commit is contained in:
@@ -1,16 +1,36 @@
|
||||
[presets.docker]
|
||||
conditions = ["file(Dockerfile)"]
|
||||
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 = "{{ docker_group }}/{{ docker_name }}"
|
||||
variables.docker_tag = "{{ '.env' | read | get('DOCKER_TAG') or 'latest' }}"
|
||||
|
||||
# build
|
||||
[presets.docker.tasks.build.default]
|
||||
variables.docker_target = "file(.env) | get(DOCKER_PROJECTS)"
|
||||
variables.docker_name = "file(pyproject.toml) | get(project.name)"
|
||||
variables.docker_group = "file(.env) | get(DOCKER_GROUP)"
|
||||
commands = ["docker build -t {{ docker_image }} . -f Dockerfile"]
|
||||
|
||||
# publish version
|
||||
[presets.docker.tasks.publish.version]
|
||||
conditions = ["{{ docker_version }}"]
|
||||
commands = [
|
||||
# "docker build --target {docker_target} -t {docker_group}/{docker_name} . -f Dockerfile",
|
||||
"docker build -t {docker_group}/{docker_name} . -f Dockerfile",
|
||||
"docker tag {{ docker_image }} {{ docker_repo }}/{{ docker_image }}:{{ docker_version }}",
|
||||
"docker push {{ docker_repo }}/{{ docker_image }}:{{ docker_version }}",
|
||||
]
|
||||
|
||||
# publish
|
||||
[presets.docker.tasks.publish.default]
|
||||
commands = ["docker publish"]
|
||||
# publish tag
|
||||
[presets.docker.tasks.publish.tag]
|
||||
conditions = ["{{ docker_tag }}"]
|
||||
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 }}",
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user