一组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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9a72ade8b364dca79ed37c22db372d81f051d3108c8fc4eb0f9e71e3e50c1f1f |
|
MD5 | f1de4e0463e306432d45bf8cbfd52af1 |
|
BLAKE2b-256 | f092aadc6f0d864226872aba7a55f7f48618b0ea11f80d1813d3f1a14e01d6dd |