美文网首页
Python--Linux服务器基于SVN的自动部署

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

作者: 轴儿 | 来源:发表于2019-03-15 17:40 被阅读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);

    相关文章

      网友评论

          本文标题:Python--Linux服务器基于SVN的自动部署

          本文链接:https://www.haomeiwen.com/subject/nehrmqtx.html