线程linux中自动化配置,【Jenkins自动化部署】Linux节点的Python服务自动化构建

Jenkins 系列会从Ubuntu的服务端部署、Linux节点的Python服务自动化构建、Windows节点Python服务自动化构建、Vue服务自动化构建、监控服务自动化构建、用户权限控制 几个方面进行介绍Linux节点

Jenkins 系列会从

Ubuntu的服务端部署、

Linux节点的Python服务自动化构建、

Windows节点Python服务自动化构建、

Vue服务自动化构建、

监控服务自动化构建、

用户权限控制 几个方面进行介绍

Linux节点的Python服务自动化构建

首先介绍下前提条件:节点服务器有Python运行环境

Linux节点配置

节点列表

可以点击 构建执行状态 进入节点列表

535b1bd2c923644030cf149c6848cd32.png

也可以点击 系统管理 的 节点管理 进入节点列表

b7599d1fed1f5ab8804f1bf94e83842d.png

节点列表

8cfd7f9226ddbcfef22aa37fa85d4453.png

新建节点

填写节点名称 选择固定节点 或者 复制现有节点的 配置

0ff630e51683f1d09599b211c47f6271.png

执行器数 是服务器可以同时进行构建的个数,单一服务器上的部署的项目比较多时,可以增加执行器数量来加快构建速度

远程工作目录 是Jenkins远程的服务,采集器、项目工作目录都会创建在这个工作目录下

用法 我选择的指定机器的任务

启动方式 Launch agents via SSH 没有这个选项的查看下已安装的插件

6bfa3795faad7d6ec8efa052ed4137bf.png

添加服务器凭据

e2f0ddc1b59f76ca7520418807a5d71e.png

配置好就可以 保存 并 上线节点了

上线后的节点 就可以在点在列表中看到了

此时登录服务器 可以看到远程工作目录下会有 如下的文件

676653c0ced1adec019c106a3b2cb1ec.png

SVN操作

有权限的SVN URL 和 用户账户信息

在项目服务下创建 master 目录 作为开发目录使用

在项目服务下创建 release 目录 作为Tags目录使用 在下面的构建参数 svn_release 中使用

创建 Tags 到 release 目录

创建目录

16dae1ba3ea219c2548e5299803851f7.png

创建Tags

填写要保存的 版本名称 和 版本描述,点击 OK

6b38266f7e316949d50389ff453d9c0f.png

创建任务

新建任务

新建任务 填写 任务名称 选择 构建一个自由风格的软件项目

2afa22cde3513e4784c6c3ba90638ee0.png

构建参数

构建参数我这里添加了:

gunicorn_path(启动FastAPI项目)

port 启动端口 下面的构建 shell 中有用到

workers 启动线程数端口 下面的构建 shell 中有用到

main_file 项目构建时 代码会更下在 workspace 目录下的 有任务名称命名的目录下,$JOB_NAME 是获取任务名称,这样可以方便重启时定位进程 下面的构建 shell 中有用到

app_name 意义不大 下面的构建 shell 中有用到

deploy_env 执行的操作 分为 restart start stop

svn_release 加载项目的 tags,展示最新的 50 tags 没有这个参数时 需要安装 Jenkins SVN 插件 下面的源码管理 URL 中有用到

d2bfdbc1e072be5e136121115dd6c289.png

38f84738564ef7911d6f229f4b9227a5.png

7410be87a338e3fc3dbd8ae53da1f5f0.png

7b860de8f755af63a0cdab35f2a6893f.png

源码管理

源码管理这个的 SVN URL ,每次构建时会在工作目录下 更新 选择的svn_release版本对应的 源码,以实现 版本控制的 效果。

744ae8ee97fab719826d5f7aef0da8c6.png

0f43affb8f8e0beeb8274b64122bebd5.png

构建

0fd0c278f7d6e8961a5a7e2d14a2805f.png

执行shell 分为三个情况,执行情况由构建参数 deploy_env 决定

start 使用gunicorn启动项目

restart 根据 main_file 杀死旧的进程并启动新的代码

stop 根据 main_file 杀死旧的进程

BUILD_ID=dontKillMe解决 Jenkins shell 无法后台运行的问题

echo $deploy_env

case $deploy_env in

start)

echo "start: $deploy_env"

cd .. \

&& BUILD_ID=dontKillMe $gunicorn_path/gunicorn $main_file:$app_name -b 0.0.0.0:$prot -w $workers -k uvicorn.workers.UvicornH11Worker --daemon

;;

restart)

echo "restart: $deploy_env"

pid=` ps -ef|grep $main_file|grep -v "grep"|awk "{print $2}"`

for id in $pid

do

kill -9 $id

done

cd .. \

&& BUILD_ID=dontKillMe $gunicorn_path/gunicorn $main_file:$app_name -b 0.0.0.0:$prot -w $workers -k uvicorn.workers.UvicornH11Worker --daemon

;;

stop)

echo "stop: $deploy_env"

pid=` ps -ef|grep $main_file|grep -v "grep"|awk "{print $2}"`

for id in $pid

do

kill -9 $id

done

;;

*)

exit

;;

esac

构建任务

选择要构建的版本

选择要执行的操作

点击开始构建

构建时的效果

c999b58b18f0dcbc58cb07a86c57af87.png

构建日志

执行顺序:

拉取源码

执行shell

构建后操作(这里没有配)

09641d46076a93814cb85b126caab4b3.png

以上信息来源于网络,如有侵权,请联系站长删除。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值