1. 首页>
  2. 技术文章>
  3. jenkins通过supervisor配置守护进程

jenkins通过supervisor配置守护进程

2/13/23 9:17:40 AM 浏览 1274 评论 0

jenkins supervisor

[program:genkins] ; 管理的子程序名字,要和项目有关联,不能乱写
command = /etc/alternatives/java -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/share/java/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --httpPort=8080 --debug=5 ;
priority=1 ; 数字越高,优先级越高(对不同进程而言)
numprocs=1 ; 启动几个进程
autostart=true ; 随着supervisord的启动而启动
autorestart=false ; 自动重启
startsecs = 5 ;启动后运行5s后进程仍存在将被认为服务启动成功
startretries=10 ; 启动失败时的最多重试次数
stopsignal=KILL ; 用来杀死进程的信号
stopwaitsecs=10 ; 发送SIGKILL前的等待时间
redirect_stderr=true ; 重定向stderr到stdout
stopasgroup=true ; 重要的设置,一起管理子进程
stdout_logfile_maxbytes=20MB ; 日志文件大小限制
stdout_logfile_backups=10 ; 日志文件备份数量
stdout_logfile =/my/software/supervisor/logs/genkins-supervisor.log ;错误日志输出位置,目录要存在

而如果用genkins结合supervisor来实现自动部署,那么shell脚本如下:

#先停止服务
supervisorctl -c /my/software/supervisor/supervisord.conf  stop MyDotNetCore-test-api
#编译生成文件,不使用独立程序
cd /my/code_source/test-api/default/MyDotNetCore.Project.WebApi/
dotnet publish -r linux-x64 --self-contained false -o /my/publish/test-api/
#重新启动服务
supervisorctl -c /my/software/supervisor/supervisord.conf  start MyDotNetCore-test-api


网友讨论