资讯专栏INFORMATION COLUMN

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

SoapEye / 2134人阅读

摘要:语言编写的项目发布脚本生产环境实测使用全部执行优化系统使用帮助代码如下必须是优先执行的发布成功可用参数更新配置缓存更新路由缓存新增路由至数据库更新依赖关系分多行时注意行尾加

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 "
可用参数:"
    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)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/37914.html

相关文章

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

    摘要:语言编写的项目发布脚本生产环境实测使用全部执行优化系统使用帮助代码如下必须是优先执行的发布成功可用参数更新配置缓存更新路由缓存新增路由至数据库更新依赖关系分多行时注意行尾加 python语言编写的php laravel项目发布脚本(生产环境实测) 使用 全部执行:./deploy.py --all 优化系统:./deploy.py --optimize composer:./depl...

    SmallBoyO 评论0 收藏0
  • 2019 为什么我们还会继续使用 PHP ?

    摘要:但我还是使用它开发了很多软件。那么问题就很明显了为什么今天还在使用除了个人理想主义的偏好以外,还有很多理由。为什么使用而不是也许和比较的最重要的语言是。为什么选择而不是你已有专业知识或者在使用库。 showImg(https://segmentfault.com/img/remote/1460000018390090?w=790&h=466); 我们来开门见山地说。  PHP 是一门奇...

    guyan0319 评论0 收藏0
  • 使用 Swoole 加速 Laravel

    摘要:因为为单个请求创建的环境将在请求过程完成后立即销毁。可以成为强大的性能增强器,提供了优雅的结构和代码使用方式。你可以使用此命令快速安装它,并访问官方网站获取更多信息。注意目前仅支持和。服务器不能使用。基准测试使用进行干净的测试。 Swoole 是针对PHP的生产级异步编程框架。它是一种用纯C语言编写的PHP扩展,它使PHP开发人员能够在PHP中编写高性能,可扩展的并发TCP,UDP,U...

    didikee 评论0 收藏0
  • 现代后端开发者必备技能-2018版

    摘要:现在开始创建一个包并分发给其他人使用,并确保遵循你迄今为止学到的标准和最佳实践。第步实践对于练习,继续编写单元测试,以完成目前为止所做的实际任务,特别是你在步骤中所做的练习。 今天的Web开发与几年前完全不同,有很多不同的东西可以很容易地阻止任何人进入Web开发。这是我们决定制作这些循序渐进的视觉指南的原因之一,这些指南展示了更大的图景,并让任何人清楚了解他们在网页开发中扮演的角色。 ...

    eternalshallow 评论0 收藏0
  • 2018最新后端开发人员路线图

    摘要:简评之前,后端开发路线图仅仅是一个技术推荐,且没有明确的方向指明应该遵循的顺序,这份重新制作的指南将会给你一个更好的方向。现在开始创建一个包并分发给其他人使用,并确保遵循迄今为止学到的标准和最佳实践。 简评:之前,后端开发路线图仅仅是一个技术推荐,且没有明确的方向指明应该遵循的顺序,这份重新制作的指南将会给你一个更好的方向。 现在的 Web 开发与几年前完全不同了,有很多不同的东西可以...

    王陆宽 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<