Jenkins拉取git仓库代码,进行自动化部署

一,将代码提交至代码库

fask_demo.py

from flask import Flask, request, jsonify
import argparse

app = Flask(__name__)
BASE_URL = '/'


@app.route(BASE_URL, methods=['GET'])
def geng():
    result = {
        'msg': "welcome,test!"
    }
    # 返回json
    return jsonify(result)


@app.route(BASE_URL + 'get/test', methods=['GET'])
def test_get():
    # 解析请求参数
    param = request.args.to_dict()
    result = {
        'msg': "welcome,test!"
    }
    # 返回json
    if param:
        return jsonify(param)
    else:
        return jsonify(result)


if __name__ == '__main__':
    parser = argparse.ArgumentParser(usage='请输入端口号', description="help info.")
    parser.add_argument("--port", default=6004, help='the port number.')
    args = parser.parse_args()
    app.run(debug=True, host='0.0.0.0', port=args.port)




提交代码带代码库:


image.png

二,任务构建

1、任务配置
image.png
image.png

image.png
2、任务构建
########## Centos/RedHat ##########
$ yum install curl-devel expat-devel gettext-devel \
  openssl-devel zlib-devel

########## Debian/Ubuntu ##########
$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
  libz-dev libssl-dev

由于节点没有外网,安装git后,再给节点安装python3和依赖包falsk
如何安装前面python3前面提过,这里不写了

  • linux节点离线安装flask包
    1,先在有网的环境下下载flask
pip download  -d flask
  • 我这里是在容器里下载的:


    image.png
  • 从容器里拷贝出来
docker cp 容器id:容器内目录 本地目录
image.png
  • 把下载的包上传到节点物理机上去,然后离线安装
 pip3 install --no-index --find-links=./pkg/ flask
image.png
  • 修改构建执行shell


    image.png
  • 再次构建


    image.png
  • 发现构建成功,但是运行机器上并没有这个进程
  • 再次修改并构建
    BUILD_ID=DONTKILLME : 在jenkins里面在后台运行的程序都会被jenkins自动杀死 所以需要加上BUILDID这个参数 加了这个参数你的程序就不会被杀死


    image.png

    image.png

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

推荐阅读更多精彩内容