mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-03-10 09:21:34 +00:00
[AB-155] removing ansible dependency from installer, restructuring deployment container to be packaged with the respective versions, removing build for docker container from maven, for now
fixing liquibase setup for feature mode
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
import json
|
||||
import os
|
||||
import jinja2
|
||||
import templates_deploy
|
||||
import liquibase_deploy
|
||||
from zipfile import ZipFile
|
||||
import sys
|
||||
|
||||
if len(sys.argv) != 3:
|
||||
sys.exit('Wrong amount of parameters.')
|
||||
|
||||
deploy_templates = sys.argv[1] == 'yes'
|
||||
deploy_liquibase = sys.argv[2] == 'yes'
|
||||
|
||||
class DbConfig:
|
||||
def __init__(self):
|
||||
self.host = os.getenv('DB_HOST')
|
||||
self.port = os.getenv('DB_PORT')
|
||||
self.database = os.getenv('DB_NAME')
|
||||
self.user = os.getenv('DB_USER')
|
||||
self.password = os.getenv('DB_PASS')
|
||||
|
||||
|
||||
postgres_driver_path = os.getenv('POSTGRES_DRIVER')
|
||||
liquibase_path = os.getenv('LIQUIBASE_PATH')
|
||||
|
||||
with open('artifact_versions.json') as artifact_config_file:
|
||||
artifact_config = json.load(artifact_config_file)
|
||||
|
||||
db_config = DbConfig()
|
||||
|
||||
|
||||
templateLoader = jinja2.FileSystemLoader(searchpath="/python/templates")
|
||||
templateEnv = jinja2.Environment(loader=templateLoader)
|
||||
template = templateEnv.get_template("liquibase.properties.j2")
|
||||
|
||||
if deploy_liquibase:
|
||||
|
||||
for liquibase_artifact in artifact_config['liquibase_artifacts']:
|
||||
zip_file = liquibase_artifact['zip']
|
||||
target_folder = '/liquibase-zips/' + zip_file
|
||||
with ZipFile('liquibase-zips/' + zip_file + '.zip', 'r') as liquibase_zip:
|
||||
liquibase_zip.extractall(target_folder)
|
||||
change_log_file = liquibase_artifact['file']
|
||||
liquibase_config_text = template.render(change_log_file=change_log_file, db_host=db_config.host, db_port=db_config.port,
|
||||
db_database=db_config.database, db_user=db_config.user, db_password=db_config.password, postgres_driver_path=postgres_driver_path)
|
||||
property_path = target_folder + '/liquibase.properties'
|
||||
with open(property_path, 'w') as liquibase_target_properties:
|
||||
liquibase_target_properties.write(liquibase_config_text)
|
||||
liquibase_deploy.deploy_liquibase(zip_file, property_path, liquibase_path)
|
||||
|
||||
if deploy_templates:
|
||||
for template_artifact in artifact_config['template_artifacts']:
|
||||
with ZipFile('templates/' + template_artifact + '.zip', 'r') as template_zip:
|
||||
template_zip.extractall(template_artifact)
|
||||
templates_deploy.deploy_template_folder(db_config, template_artifact)
|
||||
|
||||
for template_artifact in artifact_config['translation_artifacts']:
|
||||
with ZipFile('translations/' + template_artifact + '.zip', 'r') as template_zip:
|
||||
template_zip.extractall(template_artifact)
|
||||
templates_deploy.deploy_template_folder(db_config, template_artifact)
|
||||
|
||||
Reference in New Issue
Block a user