Jenkins 系列会从Ubuntu的服务端部署、Linux节点的Python服务自动化构建、Windows节点Python服务自动化构建、Vue服务自动化构建、监控服务自动化构建、用户权限控制 几个方面进行介绍Linux节点
Jenkins 系列会从
Ubuntu的服务端部署、
Linux节点的Python服务自动化构建、
Windows节点Python服务自动化构建、
Vue服务自动化构建、
监控服务自动化构建、
用户权限控制 几个方面进行介绍
Linux节点的Python服务自动化构建
首先介绍下前提条件:节点服务器有Python运行环境
Linux节点配置
节点列表
可以点击 构建执行状态 进入节点列表
也可以点击 系统管理 的 节点管理 进入节点列表
节点列表
新建节点
填写节点名称 选择固定节点 或者 复制现有节点的 配置
执行器数 是服务器可以同时进行构建的个数,单一服务器上的部署的项目比较多时,可以增加执行器数量来加快构建速度
远程工作目录 是Jenkins远程的服务,采集器、项目工作目录都会创建在这个工作目录下
用法 我选择的指定机器的任务
启动方式 Launch agents via SSH 没有这个选项的查看下已安装的插件
添加服务器凭据
配置好就可以 保存 并 上线节点了
上线后的节点 就可以在点在列表中看到了
此时登录服务器 可以看到远程工作目录下会有 如下的文件
SVN操作
有权限的SVN URL 和 用户账户信息
在项目服务下创建 master 目录 作为开发目录使用
在项目服务下创建 release 目录 作为Tags目录使用 在下面的构建参数 svn_release 中使用
创建 Tags 到 release 目录
创建目录
创建Tags
填写要保存的 版本名称 和 版本描述,点击 OK
创建任务
新建任务
新建任务 填写 任务名称 选择 构建一个自由风格的软件项目
构建参数
构建参数我这里添加了:
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 中有用到
源码管理
源码管理这个的 SVN URL ,每次构建时会在工作目录下 更新 选择的svn_release版本对应的 源码,以实现 版本控制的 效果。
构建
执行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
构建任务
选择要构建的版本
选择要执行的操作
点击开始构建
构建时的效果
构建日志
执行顺序:
拉取源码
执行shell
构建后操作(这里没有配)
以上信息来源于网络,如有侵权,请联系站长删除。