#!/usr/bin/python
#coding=gbk
'''
Created on 2015年5月27日
@author: ligang
'''
import socket
import time
from sys import argv
#获取项目对应的IP和TOMCAT信息
def get_server_info(project_name,project_type):
if(project_name=="config"):
################################################################################
if(project_type=='dev'):
deploy_info_arry.append(["192.168.31.121",argv[2],argv[3]])
elif(project_type=='test'):
deploy_info_arry.append(["47.103.103.142",argv[2],argv[3]])
elif(project_type=='produce'):
deploy_info_arry.append(["47.103.119.170",argv[2],argv[3]])
else:
print("项目"+project_name+"没有"+project_type+"这样的环境")
return 1105
################################################################################
elif(project_name=="eureka"):
if(project_type=='dev'):
deploy_info_arry.append(["192.168.31.121",argv[2],argv[3]])
elif(project_type=='test'):
deploy_info_arry.append(["47.103.103.142",argv[2],argv[3]])
elif(project_type=='produce'):
deploy_info_arry.append(["47.103.119.170",argv[2],argv[3]])
else:
print("项目"+project_name+"没有"+project_type+"这样的环境")
return 1101
################################################################################
elif(project_name=="gateway"):
if(project_type=='dev'):
deploy_info_arry.append(["192.168.31.121",argv[2],argv[3]])
elif(project_type=='test'):
deploy_info_arry.append(["47.103.103.142",argv[2],argv[3]])
elif(project_type=='produce'):
deploy_info_arry.append(["47.103.119.170",argv[2],argv[3]])
else:
print("项目"+project_name+"没有"+project_type+"这样的环境")
return 1101
################################################################################
elif(project_name=="auth"):
if(project_type=='dev'):
deploy_info_arry.append(["192.168.31.121",argv[2],argv[3]])
elif(project_type=='test'):
deploy_info_arry.append(["47.103.103.142",argv[2],argv[3]])
elif(project_type=='produce'):
deploy_info_arry.append(["47.103.119.170",argv[2],argv[3]])
else:
print("项目"+project_name+"没有"+project_type+"这样的环境")
return 1101
################################################################################
elif(project_name=="platform"):
if(project_type=='dev'):
deploy_info_arry.append(["192.168.31.121",argv[2],argv[3]])
elif(project_type=='test'):
deploy_info_arry.append(["47.103.103.142",argv[2],argv[3]])
elif(project_type=='produce'):
deploy_info_arry.append(["47.103.119.170",argv[2],argv[3]])
else:
print("项目"+project_name+"没有"+project_type+"这样的环境")
return 1101
################################################################################
elif(project_name=="frontplatform"):
if(project_type=='dev'):
deploy_info_arry.append(["192.168.31.121",argv[2],argv[3]])
elif(project_type=='test'):
deploy_info_arry.append(["47.103.103.142",argv[2],argv[3]])
elif(project_type=='produce'):
deploy_info_arry.append(["47.103.119.170",argv[2],argv[3]])
else:
print("项目"+project_name+"没有"+project_type+"这样的环境")
return 1101
################################################################################
elif(project_name=="crm"):
if(project_type=='dev'):
deploy_info_arry.append(["192.168.31.121",argv[2],argv[3]])
elif(project_type=='test'):
deploy_info_arry.append(["47.103.103.142",argv[2],argv[3]])
elif(project_type=='produce'):
deploy_info_arry.append(["47.103.119.170",argv[2],argv[3]])
else:
print("项目"+project_name+"没有"+project_type+"这样的环境")
return 1101
################################################################################
elif(project_name=="goods"):
if(project_type=='dev'):
deploy_info_arry.append(["192.168.31.121",argv[2],argv[3]])
elif(project_type=='test'):
deploy_info_arry.append(["47.103.103.142",argv[2],argv[3]])
elif(project_type=='produce'):
deploy_info_arry.append(["47.103.119.170",argv[2],argv[3]])
else:
print("项目"+project_name+"没有"+project_type+"这样的环境")
return 1101
################################################################################
elif(project_name=="account"):
if(project_type=='dev'):
deploy_info_arry.append(["192.168.31.121",argv[2],argv[3]])
elif(project_type=='test'):
deploy_info_arry.append(["47.103.103.142",argv[2],argv[3]])
elif(project_type=='produce'):
deploy_info_arry.append(["47.103.119.170",argv[2],argv[3]])
else:
print("项目"+project_name+"没有"+project_type+"这样的环境")
return 1101
################################################################################
elif(project_name=="order"):
if(project_type=='dev'):
deploy_info_arry.append(["192.168.31.121",argv[2],argv[3]])
elif(project_type=='test'):
deploy_info_arry.append(["47.103.103.142",argv[2],argv[3]])
elif(project_type=='produce'):
deploy_info_arry.append(["47.103.119.170",argv[2],argv[3]])
else:
print("项目"+project_name+"没有"+project_type+"这样的环境")
return 1101
################################################################################
elif(project_name=="operation"):
if(project_type=='dev'):
deploy_info_arry.append(["192.168.31.121",argv[2],argv[3]])
elif(project_type=='test'):
deploy_info_arry.append(["47.103.103.142",argv[2],argv[3]])
elif(project_type=='produce'):
deploy_info_arry.append(["47.103.119.170",argv[2],argv[3]])
else:
print("项目"+project_name+"没有"+project_type+"这样的环境")
return 1101
################################################################################
elif(project_name=="adapt"):
if(project_type=='dev'):
deploy_info_arry.append(["192.168.31.121",argv[2],argv[3]])
elif(project_type=='test'):
deploy_info_arry.append(["47.103.103.142",argv[2],argv[3]])
elif(project_type=='produce'):
deploy_info_arry.append(["47.103.119.170",argv[2],argv[3]])
else:
print("项目"+project_name+"没有"+project_type+"这样的环境")
return 1101
################################################################################
elif(project_name=="material"):
if(project_type=='dev'):
deploy_info_arry.append(["192.168.31.121",argv[2],argv[3]])
elif(project_type=='test'):
deploy_info_arry.append(["47.103.103.142",argv[2],argv[3]])
elif(project_type=='produce'):
deploy_info_arry.append(["47.103.119.170",argv[2],argv[3]])
else:
print("项目"+project_name+"没有"+project_type+"这样的环境")
return 1101
################################################################################
elif(project_name=="price"):
if(project_type=='dev'):
deploy_info_arry.append(["192.168.31.121",argv[2],argv[3]])
elif(project_type=='test'):
deploy_info_arry.append(["47.103.103.142",argv[2],argv[3]])
elif(project_type=='produce'):
deploy_info_arry.append(["47.103.119.170",argv[2],argv[3]])
else:
print("项目"+project_name+"没有"+project_type+"这样的环境")
return 1101
################################################################################
elif(project_name=="produce"):
if(project_type=='dev'):
deploy_info_arry.append(["192.168.31.121",argv[2],argv[3]])
elif(project_type=='test'):
deploy_info_arry.append(["47.103.103.142",argv[2],argv[3]])
elif(project_type=='produce'):
deploy_info_arry.append(["47.103.119.170",argv[2],argv[3]])
else:
print("项目"+project_name+"没有"+project_type+"这样的环境")
return 1101
################################################################################
elif(project_name=="store"):
if(project_type=='dev'):
deploy_info_arry.append(["192.168.31.121",argv[2],argv[3]])
elif(project_type=='test'):
deploy_info_arry.append(["47.103.103.142",argv[2],argv[3]])
elif(project_type=='produce'):
deploy_info_arry.append(["47.103.119.170",argv[2],argv[3]])
else:
print("项目"+project_name+"没有"+project_type+"这样的环境")
return 1101
################################################################################
elif(project_name=="scm"):
if(project_type=='dev'):
deploy_info_arry.append(["192.168.31.121",argv[2],argv[3]])
elif(project_type=='test'):
deploy_info_arry.append(["47.103.103.142",argv[2],argv[3]])
elif(project_type=='produce'):
deploy_info_arry.append(["47.103.119.170",argv[2],argv[3]])
else:
print("项目"+project_name+"没有"+project_type+"这样的环境")
return 1101
################################################################################
else:
print("项目"+project_name+"没有"+project_type+"这样的环境")
return 1002
return 0
def send_socket(server_ip,deploy_info):
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.settimeout(500)
e=0
try:
sock.connect((server_ip,5099))
except socket.timeout,e:
print 'timeout',e
return 2001
except e:
print 'any',e
return 2002
if not e:
try:
print(str(time.strftime("%Y-%m-%d:%H:%M:%S",time.localtime(time.time()))))
sock.send(deploy_info)#发送文件基本信息数据
deploy_result = sock.recv(2048)
sock.close()
return deploy_result
except Exception , e:
print e
sock.close()
return 2003
deploy_info_arry = []
pjkey = 'zls3sj-8dh^97@DH892doa'
command_name = 'docker_deploy'
project_name = argv[1]
project_port = argv[4]
project_type = argv[5]
get_server_info(project_name,project_type)
if(deploy_info_arry):
for deploy_info in deploy_info_arry:
server_ip = deploy_info[0]
containers = deploy_info[1]
dockerimages = deploy_info[2]
deploy_info = pjkey+','+command_name+','+containers+','+dockerimages+','+project_port
deploy_result=send_socket(server_ip,deploy_info)
if(deploy_result!="0"):
print("部署失败,返回结果:"+deploy_result+"部署信息:"+deploy_info)
print deploy_result