Ejemplo n.º 1
0
    def launch_deployment(self, deployment_id, config):
        db = self.get_session(self.get_engine(config))
        
        deployment = db.query(Deployment).get(deployment_id)
        encoded = deployment.encode_with_deps(db)
        logging.info("Launching deployment {}:{}/{}".format(deployment.app_name, deployment.image_tag, deployment.environment))
        for host in deployment.hosts:
            logging.info("Launching deployment {}:{}/{} on {}".format(deployment.app_name, deployment.image_tag, deployment.environment, host.alias))
            wrapper = DockerWrapper(host.hostname, host.port, config)
            wrapper.deploy_with_deps(encoded)

        try:
            self.update_deployment_containers(db, deployment, config)
            self.update_deployment_status(db, deployment)            
        except Exception as e:
            logging.error(e)
            db.rollback()
        logging.info("Finished deployment {}:{}/{}".format(deployment.app_name, deployment.image_tag, deployment.environment))
Ejemplo n.º 2
0
    def launch_deployment(self, deployment_id, config):
        db = self.get_session(self.get_engine(config))

        deployment = db.query(Deployment).get(deployment_id)
        encoded = deployment.encode_with_deps(db)
        logging.info("Launching deployment {}:{}/{}".format(
            deployment.app_name, deployment.image_tag, deployment.environment))
        for host in deployment.hosts:
            logging.info("Launching deployment {}:{}/{} on {}".format(
                deployment.app_name, deployment.image_tag,
                deployment.environment, host.alias))
            wrapper = DockerWrapper(host.hostname, host.port, config)
            wrapper.deploy_with_deps(encoded)

        try:
            self.update_deployment_containers(db, deployment, config)
            self.update_deployment_status(db, deployment)
        except Exception as e:
            logging.error(e)
            db.rollback()
        logging.info("Finished deployment {}:{}/{}".format(
            deployment.app_name, deployment.image_tag, deployment.environment))