1、首先配置jenkins所在的服务可以免密登录python项目所在的项目
免密登录配置如下:
# 在jenkin服务上执行,如果已经生成rsa可跳过 (cat ~/.ssh/id_rsa.pub)
ssh-keygen -t rsa
一路回车,不要输密码
#把公钥传到python所在服务器上(一键命令)
ssh-copy-id 用户名@你的服务器IP
比如:ssh-copy-id root@10.70.19.25
2、在jenkin 构建配置
#!/bin/bash
admin=username@ip
echo "+++++++发布分支:$branch+++++++++++++++++++++++++"
cd ..
# 打包项目
zip -r qa-platform-service.zip qa-platform-service/
ssh $admin echo "当前目录"&"pwd"
# 远程复制
scp qa-platform-service.zip $admin:/home/用户家目录
echo "复制成功"
# 解压
ssh $admin "cd /home/户家目录 & unzip -o qa-platform-service.zip"
# 重起服务
ssh $admin "supervisorctl restart qa-platform-service"
3、配置supervisor
如果没安装请先安装 pip install supervisor
a、先创建配置文件
vim /etc/supervisord.conf.d/qa-platform-service.conf
b、配置内容
[program:qa-platform-service]
# 你的项目目录
directory=/home/xxx/qa-platform-service
# 启动命令(python3 绝对路径 + main.py)
command=/usr/bin/python3.9 main.py
autostart=true
autorestart=true
startretries=3
user=root
# 日志
stdout_logfile=/var/log/qa-platform.log
stderr_logfile=/var/log/qa-platform-error.log
c、启动服务
# 重新加载配置
supervisorctl reread
# 加入管理
supervisorctl add qa-platform-service
# 启动
supervisorctl start qa-platform-service
常用管理命令
supervisorctl start 服务名 # 启动
supervisorctl stop 服务名 # 停止
supervisorctl restart 服务名 # 重启
supervisorctl status # 查看状态