跳转到主要内容

一组fabric任务

项目描述

这是一套可重用的Fabric任务。它使用fabric >= 1.2的新式任务系统。

用法

  • dploi-fabric添加到您的buildout环境中(最好在development_local.cfg中,服务器不需要它)。

  • 正常创建一个fabfile.py文件。

  • fabfile.py中挑选并导入所需的模块,例如:

    from fabric.decorators import task
    
    from dploi_fabric.db import pg # if project uses mysql, import "mysql" instead
    from dploi_fabric import supervisor, nginx
    from dploi_fabric import git, utils, buildout, south, django_utils, project
    
    from dploi_fabric.conf import load_settings
    
    @task
    def dev():
        load_settings('dev')
    
    @task
    def stage():
        load_settings('stage')
    
    @task
    def live():
        load_settings('live')
    
    @task
    def deploy():
        pg.dump.run()
        git.update()
        buildout.run()
        south.migrate.run()
        django_utils.collectstatic()
        supervisor.restart()
        supervisor.status()
        nginx.update_config_file()
  • 在项目根目录下创建一个名为deployment.py的文件,按照以下模板进行

    project_name = 'awesome_new_website'
    
    settings = {
        'dev': {
            'hosts': ['yourserver.com'],
            'autostart': True,
            'path': '/home/awesome_new_website-dev/app/',
            'user': 'awesome_new_website-dev',
            'buildout_cfg': 'server_dev.cfg',
            'repo': 'git@github.com:youruser/awesome_new_website.git',
            'branch': 'master',
            'backup_dir': '/home/awesome_new_website-dev/tmp/', # Used for mysql/psql dumps
            'db_name': 'awesome_new_website-dev',
            'db_username': 'awesome_new_website-dev',
            'domains': ['sitename-dev.agency.com', 'www.sitename.com'],
            'domains_redirect': [
                {'domain': 'sitename.com', 'destination_domain': 'www.sitename.com'},
            ],
            'ssl': True,
            'ssl_key_path': '../config/ssl.key', # This must be uploaded manually, possibly by a task in the future
            'ssl_cert_path': '../config/ssl.crt', # This must be uploaded manually, possibly by a task in the future
            'basic_auth': False,
            'basic_auth_path': '../config/htpasswd', # This must be uploaded manually, possibly by a task in the future
        },
    }

    根据需要添加阶段/实时设置。

  • 调用bin/fab --list以列出命令

配置文件(config.ini)

请记住添加config.ini,示例

[static]

/media/ = py_src/project/media/

和/或

[static]

/static/ = %(static_files)s

Celery

[celery]部分有一些特殊的配置参数

  • version(默认:空):设置celery版本。如果值为3.1,则触发使用celery命令而不是基于django-celery的manage.py celeryd

  • app(默认:project):包含celery.py(见celery文档)的模块

其他选项

[checkout]

tool = buildout(默认)

tool = virtualenv

[celery](如果存在该部分,则启用celery)

[django]

base = .

base = project/

base = py_src/project(由于它会尝试访问py_src/project/bin/django,因此buildout尚不支持此选项)

append_settings = true

append_settings = false

[static]

(见上方)

/url-path/ = rel-path-filesystem/

[sendfile] /protected/media/ = ../upload/

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。

源分布

dploi-fabric-0.2.1.tar.gz (21.3 KB 查看哈希值

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面