全部执行:./deploy.py --all
优化系统:./deploy.py --optimize
composer:./deploy.py --composer
使用帮助:./deploy.py --help
代码如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import subprocess, sys
def execute( args = [], runAll = False ):
# composer必须是优先执行的
if \'--composer\' in args:
args.remove( \'--composer\' )
args.insert( 0, \'--composer\' )
if True == runAll:
cmdList = getCommands( \'all\' )
else:
cmdList = []
for arg in args:
cmdList += getCommands( arg )
if ( 0 == len( cmdList ) ):
if ( 1 < len( args ) ):
showHelp()
else:
cmdList = getCommands( \'--optimize\' )
for cmd in cmdList:
subprocess.call( cmd, shell = True )
print \'发布成功!\'
sys.exit(0)
def showHelp():
print \'\\n可用参数:\'
print \'--optimize 更新配置缓存、更新路由缓存, 新增路由至数据库\'
print \'--composer 更新composer依赖关系\'
print \'\';
sys.exit(0)
def getCommands( option ):
if \'all\' == option:
cmdList = []
# 分多行时注意行尾加 \"\\\"
cmdList += getCommands( \'--composer\' ) \\
+ getCommands( \'--optimize\' )
return cmdList
elif \'--optimize\' == option:
return [
\'php artisan cache:clear\',
\'php artisan config:cache\',
\'php artisan route:cache\',
]
elif \'--composer\' == option:
return [
\'composer update\'
]
else:
return []
if __name__ == \'__main__\':
args = sys.argv
if \'--help\' in args:
showHelp()
elif \'--all\' in args:
execute(args, True)
else:
execute(args)