def rebuild_pipelines(): """ Entry point for rebuilding pipelines. Can be used to rebuild all pipelines or a specific group """ all_apps = utils.get_all_apps() rebuild_project = os.getenv("REBUILD_PROJECT") if rebuild_project is None: msg = 'No REBUILD_PROJECT variable found' LOG.fatal(msg) raise SystemExit('Error: {0}'.format(msg)) for apps in all_apps: if 'repoProjectKey' not in apps: LOG.info("Skipping {}. No project key found".format(apps['name'])) continue app_name = '{}/{}'.format(apps['repoProjectKey'], apps['repoSlug']) if (apps['repoProjectKey'].lower() == rebuild_project.lower() or rebuild_project == 'ALL'): os.environ["PROJECT"] = apps['repoProjectKey'] os.environ["GIT_REPO"] = apps['repoSlug'] LOG.info('Rebuilding pipelines for %s', app_name) runner = ForemastRunner() try: runner.write_configs() runner.create_pipeline() runner.cleanup() except Exception as error: LOG.warning('Error updating pipeline for %s', app_name)
def rebuild_pipelines(*args): """Entry point for rebuilding pipelines. Use to rebuild all pipelines or a specific group. """ rebuild_all = False rebuild_project = os.getenv("REBUILD_PROJECT") if args: LOG.debug('Incoming arguments: %s', args) command_args, *_ = args rebuild_all = command_args.parsed.all rebuild_project = command_args.parsed.project if rebuild_project == 'ALL': rebuild_all = True if rebuild_all: LOG.info('Rebuilding all projects.') elif rebuild_project is None: msg = 'No REBUILD_PROJECT variable found' LOG.fatal(msg) raise SystemExit('Error: {0}'.format(msg)) else: LOG.info('Rebuilding project: %s', rebuild_project) all_apps = utils.get_all_apps() for apps in all_apps: if 'repoProjectKey' not in apps: LOG.info('Skipping %s. No project key found', apps['name']) continue app_name = '{}/{}'.format(apps['repoProjectKey'], apps['repoSlug']) if apps['repoProjectKey'].lower() == rebuild_project.lower( ) or rebuild_all: os.environ["PROJECT"] = apps['repoProjectKey'] os.environ["GIT_REPO"] = apps['repoSlug'] LOG.info('Rebuilding pipelines for %s', app_name) runner = ForemastRunner() try: runner.write_configs() runner.create_pipeline() runner.cleanup() except Exception: # pylint: disable=broad-except LOG.warning('Error updating pipeline for %s', app_name)