|
说明:
该脚本实现将本地的项目工程包远程发送到远程服务器上.并将老版本的项目备份,上传新的项目,本脚本的中的项目自动项目自身的启动脚本.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
| #!/usr/bin/env python
#coding:utf-8
#Author Summer
#Create date:2015-07-29
import datetime
import time
from fabric.context_managers import *
from fabric.contrib.console import confirm
from fabric.colors import *
from fabric.api import *
#本地开发服务器信息
env.local_package_dir='/web'
env.time=time.strftime("%Y%m%d")
env.local_bakcup_dir='/tmp'
env.local_package_name='target'
#远程服务器信息
env.hosts=['223.203.219.133','223.203.219.134','223.203.219.135']
env.port='3217'
env.user='root'
env.password="bJJD2014!@#$xuniSHIJIE2707"
env.remote_package_dir='/web'
#备份函数
@task
@runs_once
def backup_task():
print yellow("<--------------开始备份新包-------------->")
with lcd ("%s" %env.local_package_dir):
local("tar zcvf %s-%s.tar.gz %s" %(env.local_package_name,env.time,env.local_package_name))
print blue("<------------新包备份创建成功------------->")
#上传函数
@task
def put_task():
print yellow("<-------------开始停止服务--------->")
run ('%s/%s/APIServer stop' %(env.local_package_dir,env.local_package_name))
print blue ("<-------------停止服务成功--------->")
print yellow("<-------------删除旧包------------>")
run ('rm -fr %s/%s*' %(env.remote_package_dir,env.local_package_name))
print blue ("<-----------旧包删除成功---- ---->")
print yellow("<-----------开始上传新包--- ----->")
#run ("mkdir %s" %env.remote_package_dir)
with lcd ("%s" %env.local_package_dir):
put('%s-%s.tar.gz' %(env.local_package_name,env.time),'%s/%s-%s.tar.gz' %(env.local_package_dir,env.local_package_name,env.time))
print blue ('<-----------新包上传成功---------->')
run ('tar zxf %s/%s-%s.tar.gz -C %s' %(env.local_package_dir,env.local_package_name,env.time,env.local_package_dir))
print blue ('<-------------解压成功------------>')
with cd ('%s/%s' %(env.remote_package_dir,env.local_package_name)):
run ('./APIServer start')
print blue ('<-------APIServer服务运行成功------->')
@task
def start():
backup_task()
put_task()
|
|
|