使用Jenkins在特定时间在特定服务器上运行命令

inb24sb2  于 2023-03-29  发布在  Jenkins
关注(0)|答案(2)|浏览(157)

Jenkins是否可以在特定时间在特定服务器上运行命令?例如:

on jenkins@apache-server01i at 10:00   ./stress-ng --cpu 8 --cpu-load 100 --timeout 10m
on jenkins@tomcat-server01i at 11:30    systemctl stop tomcat
on jenkins@tomcat-server01i at 11:35    systemctl start tomcat
on jenkins@mysql-server01i  at 13:00    systemctl restart mysqld

是否有此工作的插件?

1cklez4t

1cklez4t1#

不是真正的Jenkins打算使用的方式;最好直接使用cron
否则,使用cron触发器triggers { cron('0 30 * * *') }和标记为匹配的代理设置作业:agent { node { label 'labelName' } }
您可以在10开始运行一个作业,并使用sleep阶段。

uurv41yg

uurv41yg2#

使用jenkins服务器作为一个美化的cron不是一个坏主意,你可以更好地了解正在运行的作业和一个需要监控的地方,你可以挂接其他插件来通知你失败。
它可以很好地用于服务器重启、备份作业、日志循环或文件处理作业、自定义服务监控测试……
你确实引入了一个失败的来源,如果网络或ssh连接到主机失败,那么你的命令就会失败。
有两种方法可以做到这一点:
1.使用jenkins Execute Shell插件。从jenkins -〉host交换ssh密钥并允许ssh访问,并且可能在主机端配置sudo以允许特定命令运行。
1.使用jenkins中配置的控制ssh auth的插件,例如“使用ssh在远程主机上执行shell脚本”

相关问题