import sys
import time
import os
import paramiko
from pygments.lexers import shell baseconfig = {
"ip": ",
"port": ,
"username": "",
"password": "“,
"localjar": "",
"remotedir": "/w/","package":1
} if(baseconfig["package"] == 1):
print("===========开始打包===========")
os.system('mvn package -Dmaven.compile.fork=true -T 1C -Dmaven.test.skip=true')
print("===========打包完成===========")
localjar = baseconfig["localjar"]
jarpath = sys.path[0] + "/target/" + localjar
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=baseconfig["ip"], port=baseconfig["port"], username=baseconfig["username"],
password=baseconfig["password"])
ssh.get_transport()
sftp = paramiko.SFTPClient.from_transport(ssh.get_transport())
remotedir = baseconfig["remotedir"]
sftp.put(jarpath, remotedir + localjar)
print("===========上传成功===========")
# 如果命令间有依赖关系,即 前一个命令执行成功才接着执行第二个命令,那么用cmd1 && cmd2
# 如果命令间无任何依赖关系,简单地顺序执行即可,那么用cmd1; cmd2
shell = "cd %s;source /root/.bash_profile && ./run.sh" % (remotedir)
stdin, stdout, stderr = ssh.exec_command(shell)
print("===========重启成功===========")

python自动发布-优化版本的更多相关文章

  1. Python自动发布Image service的实现

    使用Python自动发布地图服务已经在上一篇博客中讲到,使用Python创建.sd服务定义文件,实现脚本自动发布ArcGIS服务,下面是利用Python自动发布Image service的实现. -- ...

  2. 自动发布工具版本从python2升级成python3后遇到的种种问题(涉及paramiko,Crypto,zipfile等等)

    从在公司实习到正式入职,一直还在被同事使用的是我写的一个自动发布工具.该工具的主要功能是:开发人员给出需要更新的代码包(zip格式),测试人员将该代码包部署到测服,这些代码包和JIRA数据库里的项目信 ...

  3. gitlab+jenkins自动发布Python包到私有仓储

    背景 有个私有仓储,地址为https://your.repo.com/pypi/ 代码存储在gitlab, 地址为https://gitlab.company.com/software.git CI为 ...

  4. 测试开发Python培训:自动发布新浪微博-技术篇

    测试开发Python培训:自动发布新浪微博-技术篇   在前面我们教大家如何登陆,大家需要先看自动登陆新浪微博(http://www.cnblogs.com/laoli0201/articles/48 ...

  5. JEECG 3.8宅男优化版本发布

    1024程序员节宅男节日快乐 -- JAVA快速开发平台,JEECG 3.8宅男优化版本发布 - JEECG开源社区 - CSDN博客https://blog.csdn.net/zhangdaisco ...

  6. Python + Selenium 自动发布文章(一):开源中国

    https://blog.csdn.net/qq_28804275/article/details/80891949 https://blog.csdn.net/qq_28804275/article ...

  7. jenkins结合supervisor进行python程序发布后的自动重启

    jenkins结合supervisor进行python程序发布后的自动重启 项目背景: 通过jenkins发布kvaccount.chinasoft.com站点的python服务端程序,业务部门同事需 ...

  8. Python 3.9 beta2 版本发布了,看看这 7 个新的 PEP 都是什么?

    原作:Jake Edge 译者:豌豆花下猫@Python猫 英文:https://lwn.net/Articles/819853/ 随着 Python 3.9.0b1 的发布,即开发周期中计划的四个 ...

  9. Python 3.9 beta2 版本发布了,看看新特性?

    随着 Python 3.9.0b1 的发布,即开发周期中计划的四个 beta 版本的首个,Python 3.9 的功能已经是完善了.在 10 月发布最终版本之前,还会有许多测试和稳定性方面的工作要做. ...

  10. GeoServer自动发布地图服务

    1 NetCDF气象文件自动发布案例 GeoServer是一个地理服务器,提供了管理页面进行服务发布,样式,切片,图层预览等一系列操作,但是手动进行页面配置有时并不满足业务需求,所以GeoServer ...

随机推荐

  1. 部署redis

    1. 下载redis 下载地址:https://redis.io/download/ 下载版本:6.2.7 应用包:redis-6.2.7.tar.gz 2. 上传服务器并解压 将redis安装包上传 ...

  2. C语言实现计算“已经活了多少天”

    输入生日,通过系统或者自己输入,获得当前日期,计算已经存活了多少天. #include<stdio.h> #include<time.h> /** * 函数介绍: * 通过输入 ...

  3. Day09:switch——case结构的使用详解

    switch--case结构的使用详解 什么是switch--case结构 他也是一种多选择结构 switch--case结构是类于if--else的语法,通过比较而输出对应的内容: 通俗的讲,好比我 ...

  4. Java反应式编程(1)

    您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来- 前面把Java函数式编程的由来和最主要的核心知识点讲完了.包括比较难懂的Lambda表达式是怎么演变而来的也全部都撸了一遍.Lambda表达式这 ...

  5. 嵌入式-C语言基础:字符串比较函数strcmp及其实现

    #include<stdio.h> #include <string.h> int mystrcmp(char * p1,char * p2) { int ret=0; if( ...

  6. hashlib加密模块、加密补充说明、subprocess模块、logging日志模块

    目录 hashlib加密模块 加密补充说明 subprocess模块 logging日志模块 日志的组成 日志配置字典 hashlib加密模块 1.何为加密 将明文数据处理成密文数据 让人无法看懂 2 ...

  7. Linux系统下安装tomcat步骤

    安装参考教程:https://www.cnblogs.com/li150dan/p/12535067.html 说明:jdk自动安装后路径是/usr/lib/jvm 在"vim /etc/p ...

  8. 【kafka】JDBC source&sink connect实现数据从Oracle实时同步插入更新到PostgreSQL(PG)

    〇.所需资料 1.JDBC connect的plugins下载地址(confluent) 一.Oracle建表 1.表规划 表名:Test_TimeFormat_Order.Test_Stress_O ...

  9. 记录一次缓存引起的线上BUG

    背景 有一个需求大概是这样的,为了提高推荐系统的性能,需要本来从A服务获取的帖子信息,改为从Redis里面重新读取 Redis里面没有存帖子的所有信息,只存储了推荐系统必要的字段 大概是这样的: 至于 ...

  10. Github Actions 学习笔记

    Github Actions是什么? Github Actions 官方介绍:GitHub Actions是一个持续集成和持续交付(CI/CD)平台,允许您自动化构建.测试和部署管道.您可以创建构建和 ...