mirror of https://github.com/axmolengine/axmol.git
Merge pull request #6841 from shujunqiao/reboot
[ci skip], add reboot.py in jenkins-scripts.
This commit is contained in:
commit
63680946ee
|
@ -0,0 +1,73 @@
|
|||
#!/usr/bin/python
|
||||
import sys,os,string
|
||||
import paramiko
|
||||
import socket
|
||||
|
||||
remote_machines=os.environ['REMOTE_MACHINES']
|
||||
remote_machines=remote_machines.split(', ')
|
||||
print 'remote_machines',remote_machines
|
||||
|
||||
remote_dir=os.environ['REMOTE_DIR']
|
||||
remote_dir=remote_dir.split(', ')
|
||||
print 'remote_dir',remote_dir
|
||||
|
||||
remote_ip=os.environ['REMOTE_IP']
|
||||
remote_ip=remote_ip.split(', ')
|
||||
print 'remote_ip',remote_ip
|
||||
|
||||
remote_user=os.environ['REMOTE_USER']
|
||||
remote_user=remote_user.split(', ')
|
||||
print 'remote_user',remote_user
|
||||
|
||||
remote_port=os.environ['REMOTE_PORT']
|
||||
remote_port=remote_port.split(', ')
|
||||
print 'remote_port',int(remote_port[0])
|
||||
|
||||
all_machines = {}
|
||||
def set_default_value_to_all_machines():
|
||||
for idx, item in enumerate(remote_machines):
|
||||
all_machines[item]={}
|
||||
all_machines[item]['ip']=remote_ip[idx]
|
||||
all_machines[item]['dir']=remote_dir[idx]
|
||||
all_machines[item]['port']=remote_port[idx]
|
||||
all_machines[item]['user']=remote_user[idx]
|
||||
all_machines[item]['pwd']=os.environ[item+'_PWD']
|
||||
|
||||
def reboot_machine(machine, item):
|
||||
print 'machine:',machine, 'item:', item
|
||||
remote_ip = machine['ip']
|
||||
remote_port = machine['port']
|
||||
remote_user = machine['user']
|
||||
remote_pwd = machine['pwd']
|
||||
remote_dir = os.path.join(machine['dir'],'workspace','reboot', 'reboot.py')
|
||||
print remote_dir
|
||||
ssh = paramiko.SSHClient()
|
||||
print 'ssh:',ssh
|
||||
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
||||
ssh.connect(remote_ip, int(remote_port), remote_user, remote_pwd)
|
||||
# excute reboot.py on machine
|
||||
cmd = 'python '+remote_dir
|
||||
if item == 'win32_win7':
|
||||
cmd = 'cmd.exe /c "python '+remote_dir+'"'
|
||||
stdin, stdout, stderr = ssh.exec_command(cmd)
|
||||
print stdout.readlines()
|
||||
ssh.close()
|
||||
print 'OK'
|
||||
|
||||
def main():
|
||||
print 'in main'
|
||||
set_default_value_to_all_machines()
|
||||
for item in all_machines:
|
||||
reboot_machine( all_machines[item], item )
|
||||
|
||||
# -------------- main --------------
|
||||
if __name__ == '__main__':
|
||||
sys_ret = 0
|
||||
try:
|
||||
sys_ret = main()
|
||||
except:
|
||||
traceback.print_exc()
|
||||
sys_ret = 1
|
||||
finally:
|
||||
sys.exit(sys_ret)
|
||||
|
Loading…
Reference in New Issue