jenkins部署python项目

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          # 查看状态