mirror of https://github.com/jumpserver/jumpserver
64 lines
1.5 KiB
Python
64 lines
1.5 KiB
Python
|
#!/usr/bin/python
|
||
|
# coding: utf-8
|
||
|
|
||
|
import subprocess
|
||
|
import time
|
||
|
import os
|
||
|
import sys
|
||
|
|
||
|
|
||
|
def bash(cmd):
|
||
|
"""
|
||
|
run a bash shell command
|
||
|
执行bash命令
|
||
|
"""
|
||
|
return subprocess.call(cmd, shell=True)
|
||
|
|
||
|
|
||
|
def color_print(msg, color='red', exits=False):
|
||
|
"""
|
||
|
Print colorful string.
|
||
|
颜色打印字符或者退出
|
||
|
"""
|
||
|
color_msg = {'blue': '\033[1;36m%s\033[0m',
|
||
|
'green': '\033[1;32m%s\033[0m',
|
||
|
'yellow': '\033[1;33m%s\033[0m',
|
||
|
'red': '\033[1;31m%s\033[0m',
|
||
|
'title': '\033[30;42m%s\033[0m',
|
||
|
'info': '\033[32m%s\033[0m'}
|
||
|
msg = color_msg.get(color, 'red') % msg
|
||
|
print msg
|
||
|
if exits:
|
||
|
time.sleep(2)
|
||
|
sys.exit()
|
||
|
return msg
|
||
|
|
||
|
|
||
|
class PreSetup(object):
|
||
|
|
||
|
@staticmethod
|
||
|
def _rpm_repo():
|
||
|
color_print('开始安装epel源', 'green')
|
||
|
bash('yum -y install epel-release')
|
||
|
|
||
|
@staticmethod
|
||
|
def _depend_rpm():
|
||
|
color_print('开始安装依赖rpm包', 'green')
|
||
|
bash('yum -y install git python-pip mysql-devel gcc automake autoconf python-devel vim sshpass')
|
||
|
|
||
|
@staticmethod
|
||
|
def _require_pip():
|
||
|
color_print('开始安装依赖pip包', 'green')
|
||
|
bash('pip install -r requirements.txt')
|
||
|
|
||
|
def start(self):
|
||
|
self._rpm_repo()
|
||
|
self._depend_rpm()
|
||
|
self._require_pip()
|
||
|
os.system('python next.py')
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
pre_setup = PreSetup()
|
||
|
pre_setup.start()
|