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);