• 二、jenkins + gitee + flask


    jenkins + gitee

    flask + websocketio + Flask-SQLAlchemy

    仓库地址: https://gitee.com/ShanCeLy/we-chat.git 把这个项目放到你的仓库里

    一、配置gitee

    安装 gitee 插件(安装后重启,它也有一个重启选项)
    系统管理 -> 插件管理

    二、项目配置

    系统管理->系统配置

    1. 主目录,也就是项目目录(这里也提供了修改方法)

    注: 自动部署时,一般会将git拉下来的项目放到  上边主目录/workspace/工作区名字
    
    2. gitee 配置
    
    gitee 插件 安装完之后,在系统配置里会出现gitee的配置
    

    输入连接名: weChat
    
    gitee 域名: https://gitee.com/, 这里要修改成你自己的,因为你连不上我的
    
    证书令牌: 点添加 jenkins
    
    ![](https://img2020.cnblogs.com/blog/1440097/202108/1440097-20210802133822694-1563746991.png)
    
    
    这里选 gitee API 令牌
    
    3. 从gitee 获取令牌
    
    登录 gitee
    
    设置-> 私人令牌 -> 生成新令牌
    
    这里最好把所有权限给 这个令牌避免出现连不上的情况
    
    把令牌站过来就行了, 因为只出现一次所以保存好
    
    点击添加
    
    ![](https://img2020.cnblogs.com/blog/1440097/202108/1440097-20210802133834099-182386581.png)
    
    
    设置完后,右边有一个测试连接可以看下怎么样。
    
    点最下边的保存
    
    4. 至此基础配置算是完成
    

    三、 创建任务

    选择: 新建任务

    我们先选择构建一个自由风格的软件项目

    四、任务配置

    1. 基础配置

    gitee 连接选择我们刚才创建的。

    1. 源码管理

      输入自己仓库的地址,配置上自己的gitee的用户名和密码

    2. 分支选择根据需求(我的只有一个分支)

    3. 构建触发器(这个意思时什么时候触发自动部署, 我们选推送代码和合并)

      想要实现这个过程需要在gitee种配置:

      ​ 当合并或者push到指定分支的时候, 向jenkins发送通知

      ​ 即这一句: Gitee webhook 触发构建,需要在 Gitee webhook 中填写 URL: http://123.56.223.123:8080/gitee-project/ceshi Gitee 触发构建策略

      步骤:进入项目仓库->管理->webHooks -> 添加webHook

      密码由Jenkins生成,在下边有

      填入添加即可:

    4. 保存构建

      构建完成出现:

    ​ 进入可以看到成功了:

    1. 脚本运行

      在我们的项目种有一个 run.sh

      我们执行这个脚本就可以了

      配置-> 构建

    点保存

    立即构建

    注:

    1.在这里我的项目因为之前部署过,数据库迁移在脚本中注释了, 如果你是第一次,且要使用脚本中进行迁移的话,请把他们放开。

    2.这里我的脚本是直接放在项目中的,你也可以直接将脚本放在服务器上。

    3. 可以搭配上管理工具管理项目。

    • 在workspace 中创建一个和任务一样名字的 文件夹
    • 在文件家中放入脚本
    • 在构建时执行这个脚本即可

    另附脚本内容:

    run.sh

    #!/bin/bash
    if [ ! -d "venv" ]; then
            # 创建虚拟环境
            virtualenv venv
    fi
    source venv/bin/activate
    pip install -r ./requirement.txt
    # python manage.py db migrate
    # python manage.py db upgrade
    # 启动项目
    # export FLASK_APP=app:weChat
    # export FLASK_ENV=development
    # flask run -h 0.0.0.0 -p 5000
    # 获取端口
    pid=$(netstat -nlp|grep :5000|awk '{print $7}'|awk -F"/" '{ print $1 }');
    # 如果该项目未运行就运行项目
    if [ "$pid" == "" ];
    then 
        # gunicorn 配置文件中配置了,项目更新的时候,项目重启了
        gunicorn 'app:weChat()' -c weChat.py
    fi
    

    weChat.pt

    bind = "0.0.0.0:5000"
    daemon = 'false'
    worker_class = "gevent"
    worker_connections = 2000
    threads = 20
    accesslog = "./gun_access.log"
    errorlog = './gun_error.log'
    loglevel = 'warning'
    timeout = 6000
    #preload_app = True
    reload = True
    
  • 相关阅读:
    activiti5.13 框架 数据库表结构说明
    c3p0详细配置
    linux+nginx+tomcat负载均衡,实现session同步
    Lvs+Keepalived+MySQL Cluster架设高可用负载均衡Mysql集群
    java jstack dump 线程 介绍 解释
    JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
    CheckStyle使用手册(一)
    checkstyle使用介绍
    memcache启动多个服务
    temp
  • 原文地址:https://www.cnblogs.com/ShanCe/p/15089548.html
Copyright © 2020-2023  润新知