[AB-XXX] replacing packaged xsd for liquibase with reference

using logging module for db and template deployment
updating deployment container dependencies
This commit is contained in:
Sheldan
2024-02-19 00:18:06 +01:00
parent 59575e0b49
commit 53b0c91360
580 changed files with 1087 additions and 36295 deletions

View File

@@ -1,9 +1,9 @@
import subprocess
import sys
import logging
def deploy_liquibase(folder, change_log_file, liquibase_path, base_path, db_config):
print(f'Deploying liquibase of {change_log_file} in folder {folder}')
logging.info(f'Deploying liquibase of {change_log_file} in folder {folder}')
process_command = [f'{liquibase_path}/liquibase', f'--defaultsFile={change_log_file}', f'--defaultSchemaName={db_config.scheme}', f'--liquibaseSchemaName={db_config.scheme}', f'--liquibaseCatalogName={db_config.scheme}', '--logLevel=info', 'update']
process = subprocess.Popen(process_command,
cwd=f'{base_path}/liquibase-zips/{folder}',
@@ -13,5 +13,5 @@ def deploy_liquibase(folder, change_log_file, liquibase_path, base_path, db_conf
process.communicate()
code = process.returncode
if code != 0:
print("Liquibased deployment failed.")
logging.error("Liquibased deployment failed.")
sys.exit(code)

View File

@@ -5,7 +5,10 @@ import re
import liquibase_deploy
import sys
from zipfile import ZipFile
import logging
FORMAT = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
logging.basicConfig(encoding='utf-8', level=logging.INFO, format=FORMAT)
class DbConfig:
def __init__(self):
@@ -21,14 +24,14 @@ config_dir = sys.argv[1]
db_config = DbConfig()
postgres_driver_path = os.getenv('POSTGRES_DRIVER', '/postgres/driver.jar')
liquibase_path = os.getenv('LIQUIBASE_PATH', '/liquibase')
root_path = os.getenv('ROOT_PATH', '/liquibase')
script_directory = os.path.dirname(os.path.abspath(sys.argv[0]))
print("Loading versions.")
logging.info("Loading versions.")
with open(config_dir + 'artifact_versions.json') as artifact_config_file:
artifact_config = json.load(artifact_config_file)
print("Loading templates")
logging.info("Loading templates")
templateLoader = jinja2.FileSystemLoader(searchpath="/python/templates")
templateEnv = jinja2.Environment(loader=templateLoader)
variable_prefix_pattern = re.compile(r'ABSTRACTO_\w+')
@@ -39,7 +42,7 @@ for key, val in os.environ.items():
template = templateEnv.get_template("liquibase.properties.j2")
print("Starting liquibase deployment")
logging.info("Starting liquibase deployment")
for liquibase_artifact in artifact_config['liquibase_artifacts']:
zip_file = liquibase_artifact['zip']
target_folder = config_dir + '/liquibase-zips/' + zip_file
@@ -52,4 +55,4 @@ for liquibase_artifact in artifact_config['liquibase_artifacts']:
property_path = script_directory + '/templates/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, config_dir, db_config)
liquibase_deploy.deploy_liquibase(zip_file, property_path, root_path, config_dir, db_config)