Python--Linux服务器基于SVN的自动部署

整体实现思路:

1. python编写http接口(需要开机自启)

2.python中调用shell

3.sh脚本中编写svn自动拉取代码

4.编写网页调用该接口

1.python编写http接口(update_pc.py)

import sys

reload(sys)

sys.setdefaultencoding('utf-8')

from flask import Flask

from flask import request

from flask import jsonify

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])

def getDouYinVideo():

    return jsonify({'noWatermarkUrl': 'videourl'})

if __name__ == '__main__':

    app.run(host='0.0.0.0')

注意:需要提前导入flask模块,负责会报No module named flask。执行命令:pip install flask

2.编写svn拉取shell脚本(svn_update.sh)

#!/bin/sh

echo '>>>>>>>>update code>>>>>>>>>>'

cd /usr/local/apache/htdocs/PC

svn up

注意:此步骤需要提前安装svn。执行命令:yum -y install  subversion

首次检出代码时,要执行:svn checkout svn://xxxx.xxx.xxx/project /usr/local/apache/htdocs/PC  (后面这个是指定目录)

3.赋予svn_update.sh可执行命令

chmod +x svn_update.sh

4.python脚本编写调用svn_update.sh

添加红框中的代码

5.update_pc.py加入开机自启

/etc/rc.local文件中添加一行:python /usr/local/python_shell/update_pc.py & 

6.网页中ajax请求该接口即可

注意:若是阿里服务器,需要开启5000端口

附录:

添加支持跨域请求:

def after_request(resp):

    resp.headers['Access-Control-Allow-Origin'] = '*'

    return resp

app.after_request(after_request);


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容