#!/bin/bash
# 定义项目目录变量
PROJECT_DIR="/home/test_ai/algo/mediation-ai_algo"
# 第一步:拉取代码
echo "拉取dev分支的代码..."
if [ -d "$PROJECT_DIR" ]; then
echo "目录 $PROJECT_DIR 已存在,尝试更新代码..."
cd "$PROJECT_DIR"
git pull
else
git clone -b dev --single-branch https://sunyuhua@code.iexe.shgbitcloud.com/scm/dyjf-ai/mediation-ai_algo.git "$PROJECT_DIR"
cd "$PROJECT_DIR"
fi
# 第二步:进入conda环境
echo "激活conda环境..."
source "$(conda info --base)/etc/profile.d/conda.sh"
conda activate algo || { echo "无法激活conda环境" ; exit 1; }
# 第三步:安装依赖
echo "安装依赖..."
pip install -r requirements.txt
# 第四步:杀死之前启动的python项目进程
echo "杀死之前的进程..."
pkill -f uvicorn
sleep 1
# 使用lsof和xargs尝试杀死占用8000端口的进程,避免“参数不足”的错误
lsof -ti:8000 | xargs -r kill -9
# 第五步:以后���行的方式运行项目
echo "以后台方式启动项目..."
nohup uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload &> ../nohup.out &
echo "脚本执行完毕。"
怎么通过sh脚本的形式发布fastapi架构开发的python项目
最新推荐文章于 2025-12-20 09:26:15 发布
本文介绍了通过bash脚本实现的项目部署过程,包括代码拉取、conda环境切换、依赖安装、杀死旧进程以及以后台模式启动Python应用,确保项目的顺利运行。
部署运行你感兴趣的模型镜像
您可能感兴趣的与本文相关的镜像
Python3.8
Conda
Python
Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本
2231

被折叠的 条评论
为什么被折叠?



