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

2019-03-15  本文已影响0人  轴儿

整体实现思路:

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

上一篇下一篇

猜你喜欢

热点阅读