def deploy_commcare(environment, args, unknown_args): deploy_revs, diffs = get_deploy_revs_and_diffs(environment, args) if not confirm_deploy(environment, deploy_revs, diffs, args): print(color_notice("Aborted by user")) return 1 fab_func_args = get_deploy_commcare_fab_func_args(args) fab_settings = [args.fab_settings] if args.fab_settings else [] for name, rev in deploy_revs.items(): var = 'code_branch' if name == 'commcare' else '{}_code_branch'.format( name) fab_settings.append('{}={}'.format(var, rev)) announce_deploy_start(environment, "CommCare HQ", args.commcare_rev) start = datetime.utcnow() rc = commcare_cloud(environment.name, 'fab', 'deploy_commcare{}'.format(fab_func_args), '--set', ','.join(fab_settings), branch=args.branch, *unknown_args) if rc != 0: return rc diff = _get_diff(environment, deploy_revs) if not args.skip_record: record_successful_deploy(environment, diff, start) return 0
def deploy_formplayer(environment, args): print(color_notice("\nPreparing to deploy Formplayer to: "), end="") print(f"{environment.name}\n") tag_commits = environment.fab_settings_config.tag_deploy_commits repo = github_repo('dimagi/formplayer', require_write_permissions=tag_commits) diff = get_deploy_diff(environment, repo) diff.print_deployer_diff() if not ask('Continue with deploy?', quiet=args.quiet): return 1 start = datetime.utcnow() announce_deploy_start(environment, FORMPLAYER) rc = run_ansible_playbook_command(environment, args) if rc != 0: announce_deploy_failed(environment, FORMPLAYER) return rc rc = commcare_cloud( args.env_name, 'run-shell-command', 'formplayer', ('supervisorctl reread; ' 'supervisorctl update {project}-{deploy_env}-formsplayer-spring; ' 'supervisorctl restart {project}-{deploy_env}-formsplayer-spring' ).format( project='commcare-hq', deploy_env=environment.meta_config.deploy_env, ), '-b', ) if rc != 0: announce_deploy_failed(environment, FORMPLAYER) return rc record_deploy_success(environment, repo, diff, start) return 0