def deploy(self, args): self._verbose("deploy") hive_config = HiveConfigFactory.create( self.hive_home + "/" + args["hive_file"] ) build = args["build"] environment = args["environment"] deployment_strategy = self._control_deployment_strategy(args, hive_config, environment) file_transpiler = FileGenerator(self.subprocess) if deployment_strategy == "Recreate": # we delete everything and recreate kubernetes_sub_projects = hive_config.kubernetes_sub_projects() for kind in ["service", "secret", "replicationController"]: first = True for sub_project in kubernetes_sub_projects: if kind in sub_project.kubernetes: if first: first = False print "\n==================" self._deploy_create_resource( kind, sub_project, file_transpiler, hive_config, build, environment, args )
def build(self, args): hive_config = HiveConfigFactory.create( self.hive_home + "/" + args["hive_file"] ) sub_projects = self._find_sub_projects(args["subprojects"], hive_config, "build") self._execute_templated_command( "./build.sh", args["parameters"], FileGenerator(self.subprocess), hive_config, sub_projects, "build" )
def docker(self, args): hive_config = HiveConfigFactory.create( self.hive_home + "/" + args["hive_file"] ) service_name = args["name"] sub_project_folder = hive_config.hive_config_path + "/" + service_name if "local" in args: self._generate_from_template_file(service_name, "run", sub_project_folder, "hive.run.sh") self._generate_from_template_file(service_name, "kill", sub_project_folder, "hive.kill.sh") if "build" in args: self._generate_from_template_file(service_name, "build", sub_project_folder, "hive.build.sh") self._generate_from_template_file(service_name, "build", sub_project_folder, "hive.Dockerfile") self._generate_from_template_file(service_name, "build", sub_project_folder, "hive.push.sh")
def kubernetes(self, args): hive_config = HiveConfigFactory.create( self.hive_home + "/" + args["hive_file"] ) service_name = args["name"] sub_project_folder = hive_config.hive_config_path + "/" + service_name if "rc" in args: self._generate_from_template_file(service_name, "kubernetes", sub_project_folder, "hive.rc.yml") if "svc" in args: self._generate_from_template_file(service_name, "kubernetes", sub_project_folder, "hive.svc.yml") if "sct" in args: self._generate_from_template_file(service_name, "kubernetes", sub_project_folder, "hive.sct.yml")