python 自动化部署工具-fabric
来源:互联网 发布:windows qt embedded 编辑:程序博客网 时间:2024/05/22 12:38
今天闲来无事,来介绍一下利用fabric 来部署代码包。
安装 pip install fabric
fabric 默认引用fafile.py,指定执行文件加参数-f,如:fab -H 127.0.0.1 -f fabtest.py test
生产环境的代码发布需要具备以下几点:打包,发布,切换,回滚,版本管理
# -*- coding: utf-8 -*-from fabric.api import *from fabric.state import envfrom fapistrano import deployfrom fabric.api import cdimport time env.user='deploy'env.host=['192.168.1.10','192.168.1.10']env.password='testabc123'env.dev_source_path = '/data/workspace'env.tar_path='/tmp/release/'env.pro_project_path='/home/workspace/'env.version = time.strftime("%Y%m%d")+"v1"@task@runs_oncedef tar_project(): with lcd(env.dev_source_path): local('tar -czf {0}release.tar.gz .'.format(env.tar_path))@taskdef put_tar_package(): with cd (env.pro_project_path+'release'): run('mkdirenv.version') with settings(warn_only=True): result = put(env.tar_path+'release.tar.gz' env.pro_project_path+'release'+env.version) if result.failed and no("put file failed. Continue[Y/N]") abort("put tar failed") with cd( ) run('tar -zxvf release.tar.gz') run('rm -rf release.tar.gz')@taskdef make_link(): with settings(warn_only=true): current_path =env.pro_project_path + 'current' run('rm -rf {0}'.format(current_path)) run('ln -s {0} {1}'.foramt(env.pro_project_path+'release'+env.version,current_path))@taskdef main(): tar_project() put_tar_package() make_link()
阅读全文
0 0
- python 自动化部署工具-fabric
- 自动化部署工具Fabric
- 自动化部署工具Fabric简介
- Python Fabric 部署工具
- 自动部署工具fabric
- 批量部署工具Fabric
- Python部署管理工具fabric
- 项目部署 python fabric
- fabric --- Python中的批量远程管理和部署工具
- Fabric自动化运维工具实现远程SSH部署及系统管理
- 基于fabric和hg的自动化部署
- Fabric自动化部署的简单使用
- python + fabric 实现批量部署
- python fabric实现远程部署
- 自动化运维工具之fabric
- python fabric实现远程操作和部署
- python fabric实现远程操作和部署
- python fabric实现远程操作和部署
- Python语句+函数+模块+包+异常
- TP框架中简单模糊搜索栏
- Shell 查找与替换
- Shell 查找与替换
- 五、动态规划
- python 自动化部署工具-fabric
- 二叉树 ADT 的实现
- poj 1562 Oil Deposits DFS找块
- Linux多线程详解
- bzoj 4895: 项链分赃(增强版)
- Json解析方法大全
- 04,Lua 全局变量
- Java--常用源码--数据库
- 文章标题