python网络框架生产环境_python语言编写的php laravel项目发布脚本(生产环境实测)...

python语言编写的php laravel项目发布脚本(生产环境实测)

使用

全部执行:./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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值