mirror of
https://gitlab.com/stilobique/blender-docker.git
synced 2026-05-28 04:37:47 +02:00
Write a new step to push the latest tag image build and the tagged version
This commit is contained in:
@@ -2,7 +2,6 @@ import os
|
|||||||
import pathlib
|
import pathlib
|
||||||
import json
|
import json
|
||||||
import docker
|
import docker
|
||||||
import logging
|
|
||||||
|
|
||||||
|
|
||||||
def get_data_from_json() -> (str, str):
|
def get_data_from_json() -> (str, str):
|
||||||
@@ -15,16 +14,14 @@ def get_data_from_json() -> (str, str):
|
|||||||
|
|
||||||
version_values = data['tags'][0]
|
version_values = data['tags'][0]
|
||||||
major, minor = version_values['b3d_vs_major'], version_values['b3d_vs_minor']
|
major, minor = version_values['b3d_vs_major'], version_values['b3d_vs_minor']
|
||||||
print(f'Compile blender version "{major}.{minor}"')
|
print(f'1 -> Setup the package with blender version "{major}.{minor}"')
|
||||||
logging.info(f'Compile blender version "{major}.{minor}"')
|
|
||||||
|
|
||||||
return major, minor
|
return major, minor
|
||||||
|
|
||||||
|
|
||||||
def build_docker(b3d_version: (str, str)):
|
def build_docker(b3d_version: (str, str), latest: bool = False):
|
||||||
client = docker.from_env()
|
client = docker.from_env()
|
||||||
if os.environ.get('docker_hub_password'):
|
if os.environ.get('docker_hub_password'):
|
||||||
print(' -> Login with docker')
|
|
||||||
client.login(username=os.environ['docker_hub_user'], password=os.environ['docker_hub_password'])
|
client.login(username=os.environ['docker_hub_user'], password=os.environ['docker_hub_password'])
|
||||||
|
|
||||||
# Init all data to build the docker image
|
# Init all data to build the docker image
|
||||||
@@ -33,17 +30,20 @@ def build_docker(b3d_version: (str, str)):
|
|||||||
'b3d_vs_minor': str(b3d_version[1]),
|
'b3d_vs_minor': str(b3d_version[1]),
|
||||||
}
|
}
|
||||||
docker_repo = 'stilobique/blender'
|
docker_repo = 'stilobique/blender'
|
||||||
tag_name = f'{docker_repo}:{args["b3d_vs_major"]}.{args["b3d_vs_minor"]}'
|
if latest:
|
||||||
|
tag = 'latest'
|
||||||
|
else:
|
||||||
|
tag = f'{args["b3d_vs_major"]}.{args["b3d_vs_minor"]}'
|
||||||
|
completed_tag_name = f'{docker_repo}:{args["b3d_vs_major"]}.{args["b3d_vs_minor"]}'
|
||||||
|
|
||||||
print('2 -> Build from image file')
|
print('2 -> Build from image file')
|
||||||
client.images.build(path=os.getcwd(), buildargs=args, tag=tag_name)
|
client.images.build(path=os.getcwd(), buildargs=args, tag=completed_tag_name)
|
||||||
|
|
||||||
print('3 -> Push the new images')
|
print('3 -> Push the new images')
|
||||||
client.images.push(repository=docker_repo, tag=f'{args["b3d_vs_major"]}.{args["b3d_vs_minor"]}')
|
client.images.push(repository=docker_repo, tag=tag)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
print('1 -> Setup the package')
|
|
||||||
logging.info('1 -> Setup the package log')
|
|
||||||
version = get_data_from_json()
|
version = get_data_from_json()
|
||||||
build_docker(version)
|
build_docker(b3d_version=version)
|
||||||
|
build_docker(b3d_version=version, latest=True)
|
||||||
|
|||||||
Reference in New Issue
Block a user