Files
blender-docker/main.py
T
2022-06-12 14:53:43 +02:00

47 lines
1.3 KiB
Python

import os
import pathlib
import json
import docker
def get_data_from_json() -> (str, str):
file = pathlib.Path(os.getcwd(), 'build.json')
data: dict = {}
with open(file, 'r') as f:
data = json.load(f)
f.close()
version_values = data['tags'][0]
major, minor = version_values['b3d_vs_major'], version_values['b3d_vs_minor']
print(f'Compile blender version "{major}.{minor}"')
return major, minor
def build_docker(b3d_version: (str, str)):
client = docker.from_env()
if os.environ.get('docker_hub_password'):
user = os.environ['docker_hub_user']
password = os.environ['docker_hub_password']
client.login(username=user, password=password)
# Init all data to build the docker image
args = {
'b3d_vs_major': str(b3d_version[0]),
'b3d_vs_minor': str(b3d_version[1]),
}
docker_repo = 'stilobique/blender'
tag_name = f'{docker_repo}:{args["b3d_vs_major"]}.{args["b3d_vs_minor"]}'
client.images.build(path=os.getcwd(), buildargs=args, tag=tag_name)
client.images.push(repository=docker_repo, tag=tag_name)
if __name__ == "__main__":
print('1 -> Setup the package')
version = get_data_from_json()
print('2 -> Build from image file')
build_docker(version)
print('3 -> Push the new images')