def main(self): self.npmCode() for H in self.Host.split(":"): if Env in ['prd','grey']: pass else: H = "%s-%s" % (Env,H) self.Host = H self.Conn = connectionHost(H, self.UserName, self.Password) self.backup() self.upload() self.execContainer()
def rollbackMain(self): for H in self.Host.split(":"): if Env != "prd": self.Port = 22 else: self.Port = 39222 self.Host = H self.getserviceinip(self.Host) self.ifregistereureka() self.Conn = connectionHost(H, self.UserName, self.Password, self.Port) self.rollback() self.getIfResetContainer()
def rollbackMain(self): for H in self.Host.split(":"): if Env != "prd": H = "%s-%s" % (Env, H) self.Port = 22 else: self.Port = 39222 self.Host = H self.Conn = connectionHost(H, self.UserName, self.Password, self.Port) self.backup() self.rollback() self.execContainer() self.checkApi()
def rollbackMain(self): for H in self.Host.split(":"): if Env != "prd": H = "%s-%s" % (Env,H) else: pass self.Host = H self.getserviceinip() self.Conn = connectionHost(H, self.UserName, self.Password) self.backup() self.rollback() self.getIfResetContainer() self.execContainer() self.checkApi()
def main(self): self.npmCode() for H in self.Host.split(":"): if Env != "prd": H = "%s-%s" % (Env, H) self.Port = 22 else: self.Port = 39222 self.Host = H self.Conn = connectionHost(H, self.UserName, self.Password, self.Port) self.backup() self.upload() self.execContainer()
def main(self): self.npmCode() for H in self.Host.split(":"): if Env in ['prd', 'grey']: self.Port = 39222 else: self.Port = 22 self.Host = H self.Conn = connectionHost(H, self.UserName, self.Password, self.Port) self.backup() self.upload() if "car-app" not in ProjectName: self.execContainer() if "iov-web" in ProjectName: print("发送版本信息到manage-network") self.checkVersion()
def ReNode(self): if self.OldNodeRm == "1": print("开始删除操作") for S in range(0, len(self.SouHost.split(":"))): if self.OldNode.split(":")[S] not in self.SouHost: TempHost = self.OldNode.split(":")[S] Conn = connectionHost(TempHost, self.UserName, self.Password, self.Port) self.getserviceinip(TempHost) self.putEurekaStatusDown() RmOldContainerCmd = "docker stop %s && docker rm %s" % ( self.ProjectName, self.ProjectName) Conn.ssh(RmOldContainerCmd, self.ProjectName) ResetValueIsZero = "update Ops_projectinfo set OldNodeRm = 0 where Project = '%s' " \ "and EnvPar = '%s' and Del = '0'" % (self.ProjectName, self.Env) self.ConDB.ConnDB(ResetValueIsZero, self.ProjectName) print("删除完成") else: print("跳过删除节点")
def main(self): self.SouHost = self.Host for H in self.Host.split(":"): self.ProjectName = ProjectName if Env != "prd": self.Port = 22 else: self.Port = 39222 self.Host = H self.getserviceinip(self.Host) self.ifregistereureka() if self.RegisterEureka == "0": if Env == "prd": self.putEurekaStatusDown() self.Conn = connectionHost(H, self.UserName, self.Password, self.Port) self.ifPackJarWar() self.backup() self.upload() self.getIfResetContainer() self.ReloadTengine() self.ReNode()
def ReloadTengine(self): if self.ReTengine == "1": print("开始修改tengine配置文件") TengineFileDir = "%s/%s-%s-%s.conf" % ( self.TenDir, self.Env, self.Belong, self.ProjectName) file = open( '/data/release/tengine/%s-%s-%s.conf' % (self.Env, self.Belong, self.ProjectName), 'w') UpstreamSta = "upstream %s-%s-%s {\n" % (self.Env, self.Belong, self.ProjectName) file.write(UpstreamSta) for i in range(0, len(self.SouHost.split(":"))): Server = " server %s:%s;\n" % ( self.SouHost.split(":")[i], self.ProjectPort) file.write(Server) UpstreanEnd = " }\n" file.write(UpstreanEnd) file.close() BackUpOldTengineFileCmd = "rm -rf %s.bak && mv %s %s.bak" % ( TengineFileDir, TengineFileDir, TengineFileDir) for t in range(0, len(self.TengineNode.split(":"))): Conn = connectionHost( self.TengineNode.split(":")[t], self.UserName, self.Password, self.Port) UploadFileToHost = "scp -P %s /data/release/tengine/%s-%s-%s.conf %s:%s" % ( self.Port, self.Env, self.Belong, self.ProjectName, self.TengineNode.split(":")[t], TengineFileDir) ReloadTengineCmd = "nginx -s reload" Conn.ssh(BackUpOldTengineFileCmd, self.ProjectName) self.toolsCmd(UploadFileToHost) if Conn.ssh(ReloadTengineCmd, self.ProjectName) == 1: sys.exit(1) ResetValueIsZero = "update Ops_projectinfo set ReTengine = 0 where Project = '%s' " \ "and EnvPar = '%s' and Del = '0'" % (self.ProjectName,self.Env) self.ConDB.ConnDB(ResetValueIsZero, self.ProjectName) print("修改完成") else: print("不需要修改tengine配置")