fabfile.py 文件源码

python
阅读 19 收藏 0 点赞 0 评论 0

项目:Django-Web-Development-with-Python 作者: PacktPublishing 项目源码 文件源码
def _update_production():
    """ updates production environment """
    if "y" != prompt(red('Are you sure you want to update ' + red('production', bold=True) + ' website (y/n)?'), default="n"):
        return

    run("")  # password request
    print

    if env.full or "y" == prompt(red('Set maintenance screen (y/n)?'), default="y"):
        print(green(" * Setting maintenance screen"))
        run('cd ~/public_html/ '
            '&& cp .htaccess_maintenance .htaccess')
    print

    if env.full or "y" == prompt(red('Stop cron jobs (y/n)?'), default="y"):
        print(green(" * Stopping cron jobs"))
        sudo('/etc/init.d/cron stop')
    print

    if env.full or "y" == prompt(red('Backup database (y/n)?'), default="y"):
        print(green(" * creating a database dump..."))
        run('cd ~/db_backups/ '
            '&& ./backup_db.bsh')
    print

    if env.full or "y" == prompt(red('Update code (y/n)?'), default="y"):
        print(green(" * updating code..."))
        run('cd ~/project/myproject/ '
            '&& git pull')
    print

    if env.full or "y" == prompt(red('Collect static files (y/n)?'), default="y"):
        print(green(" * collecting static files..."))
        run('cd ~/project/myproject '
            '&& python manage.py collectstatic --noinput')
    print

    if env.full or "y" == prompt(red('Migrate database schema (y/n)?'), default="y"):
        print(green(" * migrating database schema..."))
        run('cd ~/project/myproject '
            '&& python manage.py migrate --no-initial-data')
        run('cd ~/project/myproject '
            '&& python manage.py syncdb')
    print

    if env.full or "y" == prompt(red('Restart webserver (y/n)?'), default="y"):
        print(green(" * Restarting Apache"))
        sudo('/etc/init.d/apache2 graceful')
    print

    if env.full or "y" == prompt(red('Start cron jobs (y/n)?'), default="y"):
        print(green(" * Starting cron jobs"))
        sudo('/etc/init.d/cron start')
    print

    if env.full or "y" == prompt(red('Unset maintenance screen (y/n)?'), default="y"):
        print(green(" * Unsetting maintenance screen"))
        run('cd ~/public_html/ '
            '&& cp .htaccess_live .htaccess')
    print
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号