8. Jpom的【功能管理->脚本管理】
8.1 节点脚本列表
【节点脚本列表】里的脚本和【脚本列表】里的脚本的区别是节点脚本只能指定一个节点执行,脚本列表里的脚本可以指定多个节点执行。
1.列表
2.【新增】通过【脚本库】管理通用脚本
执行方式有三种:a). 手动执行。b). 定时执行。c). 通过触发器执行。
3.【执行】手动执行
4.【日志】查看执行日志
5.【触发器】通过连接触发执行
- 测试脚本可以获得DSL中的参数
echo "=============$1"
echo "-------------$boot_active"
8.2 脚本列表
1.列表
2.下面脚本是【在线构建】中的最后一步,选择的脚本。描述中的success标志着构建发布成功后执行的脚本。
3.【新增】脚本名称和脚本内容,可以选择【定时执行】和【分发的节点】
4.【执行】
手动执行创建的脚本,在选中的节点中执行。
5.【触发器】通过提供的链接,请求链接触发执行脚本。
8.3 脚本执行记录
显示脚本执行的记录
8.4 环境变量
1.列表
2.【新增】
9. Jpom的【功能管理->在线构建】
9.1 仓库管理
1.列表
2.【新增】使用用户名密码增加代码仓库地址
3.【令牌导入】使用令牌导入仓库
4.【关联】查看仓库关联的构建
9.2 构建列表
1.列表,显示所有的构建流程。
2.【新增】添加构建流程
a). 第一步:选择【构建方式】:【本地构建】
b). 第二步:【基础信息】,选择代码仓库。
c). 第三步:【构建流程】
d). 第四步:【发布操作】。这里分为六种【发布操作】
1). 不发布
2). 节点发布。选择创建的【分发】发布
3). 项目。选择创建的【项目】发布
4). SSH。使用SSH节点发布,发布前后执行发布脚本。类似于jenkins。
发布前脚本:主要是构建Docker镜像并启动。
docker_name=ruoyi-admin;
cd /root/RuoYi-Vue-Plus;
oldInstances=$(docker ps -a --format '{{.Names}}' | grep -q $docker_name);
echo "查看实例是否存在:${oldInstances}";
if docker ps -a --format '{{.Names}}' | grep -q $docker_name; then
echo "开始-----移除已经存在的实例 ==> ${docker_name}";
docker rm -f ${docker_name};
echo "结束-----移除已经存在的实例 ==> ${docker_name}";
else
echo "容器 $docker_name 不存在。"
fi
if test "$(docker images -q $docker_name:latest 2> /dev/null)" = "";then
echo "不存在镜像 ==> ${docker_name}"
else
echo "移除镜像 ==> ${docker_name}"
docker rmi -f $docker_name;
fi
发布后脚本:
docker_name=ruoyi-admin;
cd /root/RuoYi-Vue-Plus;
echo "开始------构建镜像 ==> ${docker_name}"
docker build -t $docker_name .;
echo "结束------构建镜像 ==> ${docker_name}"
# date;
echo "开始-----创建实例 ==> ${docker_name}";
docker run -v /mnt/ruoyi-admin/logs:/ruoyi/server/logs \
--restart=on-failure:10 \
-e "TZ=Asia/Shanghai" \
-e "SPRING_PROFILES_ACTIVE=prod" \
-p 8080:8080 --name ${docker_name} -d ${docker_name};
echo "结束-----创建实例 ==> ${docker_name}";
5). 本地命令。在本地执行脚本完成发布构建产物。
6). Docker镜像
e). 第五步:其他配置
容器构建,没有在容器中构建的构建流程。可以自行摸索。
3.【构建】,直接构建和后台构建
4.【编辑】可选择哪一步就行编辑
5.【触发器】可以通过触发器编程完成,什么时候构建。
6.【环境变量】
9.3 构建历史
构建历史查看所以的构建记录,可以查看构建日志,下载构建日志和构建产物。
10 Jpom的【功能管理->文件管理】
10.1 文件列表
1.列表
2.【上传文件】
3.【远程下载】
4.【发布】创建文件发布任务
10.2 静态文件
静态文件,扫描配置路径中的静态文件。
10.3 发布任务
1.列表,显示【文件列表】中【发布】创建的文件分发任务。
2.【查看】
3.【重建】
上传后的脚本:
cd /mnt/nginx;
echo $FILE_ID
echo """
user root;
worker_processes 2;
events {
worker_connections 10240;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
underscores_in_headers on;
keepalive_timeout 65;
gzip on; # 启用gzip压缩,默认是off,不启用
# 对js、css、jpg、png、gif格式的文件启用gzip压缩功能
gzip_types application/javascript text/css image/jpeg image/png image/gif;
gzip_min_length 1024; # 所压缩文件的最小值,小于这个的不会压缩
gzip_buffers 4 1k; # 设置压缩响应的缓冲块的大小和个数,默认是内存一个页的大小
gzip_comp_level 1; # 压缩水平,默认1。取值范围1-9,取值越大压缩比率越大,但越耗cpu时
upstream ruoyiadmin{
server 192.168.31.100:8082;
}
server {
listen 8081;
location / {
root /root/ruoyi-web;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
location /prod-api/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://ruoyiadmin/;
proxy_connect_timeout 600;
proxy_read_timeout 600;
client_max_body_size 10000m;
}
}
# upstream yudaoadmin{
# server 192.168.31.100:48080;
# }
server {
listen 48081;
location / {
root /root/yudao-web;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
# location /prod-api/ {
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_pass http://yudaoadmin/;
# proxy_connect_timeout 600;
# proxy_read_timeout 600;
# client_max_body_size 10000m;
# }
}
}
""" > nginx.conf
评论区