def post_deploy(self): ''' 3.检出代码后要做的任务 - 用户自定义操作命令 - 代码编译 - 清除日志文件及无用文件 - - 压缩打包 - 传送到版本库 release :return: ''' self.stage = self.stage_post_deploy self.sequence = 3 # 用户自定义命令 commands = self.project_info['post_deploy'] if commands: for command in commands.split('\n'): if command.strip().startswith('#') or not command.strip(): continue with self.localhost.cd(self.local_codebase + self.release_version): result = self.localhost.local(command, wenv=self.config()) # 压缩打包 # 排除文件发布 self.release_version_tar = '%s.tgz' % (self.release_version) with self.localhost.cd(self.local_codebase): if self.project_info['is_include']: files = includes_format(self.release_version, self.project_info['excludes']) else: files = excludes_format(self.release_version, self.project_info['excludes']) command = 'tar zcf %s/%s %s' % (self.local_codebase.rstrip('/'), self.release_version_tar, files) result = self.localhost.local(command, wenv=self.config())