0

0

使用 Supervisor 管理不同 Git 分支部署

碧海醫心

碧海醫心

发布时间:2025-08-30 17:17:00

|

457人浏览过

|

来源于php中文网

原创

使用 supervisor 管理不同 git 分支部署

本文介绍了如何使用 Supervisor 管理部署在不同 Git 分支上的应用程序。Supervisor 本身不直接与 Git 交互,它只负责执行文件系统中的程序。因此,要让 Supervisor 运行不同分支的代码,需要将不同分支的代码检出到不同的目录,然后配置 Supervisor 针对不同的目录运行相应的程序。这种方法允许您在同一服务器上运行多个不同版本的应用程序,并通过 Supervisor 监控和管理它们。

使用不同目录部署不同 Git 分支

Supervisor 并不直接感知 Git 的存在,它只负责执行指定目录下的程序。因此,要实现 Supervisor 管理不同 Git 分支,核心思路是将不同分支的代码检出到不同的目录中。

步骤如下:

  1. 创建不同的目录: 为每个需要运行的分支创建一个独立的目录。例如,可以创建 a_master 目录用于存放 master 分支的代码,创建 a_branch_1 目录用于存放 branch_1 分支的代码。

  2. 检出代码到对应目录: 使用 git clone 或 git checkout 命令将对应分支的代码检出到相应的目录中。

    # 检出 master 分支到 a_master 目录
    git clone  a_master
    cd a_master
    git checkout master
    
    # 检出 branch_1 分支到 a_branch_1 目录
    git clone  a_branch_1
    cd a_branch_1
    git checkout branch_1
  3. 配置 Supervisor 任务: 为每个目录创建一个独立的 Supervisor 任务,并指定相应的 directory。

    跳蚤市场
    跳蚤市场

    1、二手货品在线注册, 在线生效; 2、二手货品登陆后自动EMAIL回复功能; 3、登记货品用户修改时忘记密码,自动回复到登陆者信箱; 4、支持版主修改删除货品; 5、支持版主设置货品点击次数, 以提高排行榜名次; 6、使用JAVA SCRPIT 支持自动分页,不会因分页过多而导致显示混乱; 7、提供点击计数功能, 同一IP点击多次无效; 8、提供广告管理程序,程序可以循环放映广告,可设置添加删除

    下载
    [program:a_master]
    command=/home/ubuntu/a_master-venv/bin/uvicorn a.path.main:app --host=0.0.0.0 --port 9009 --loop uvloop --log-level info
    directory=/home/ubuntu/a_master
    user=ubuntu
    autostart=true
    autorestart=true
    
    [program:a_branch_1]
    command=/home/ubuntu/a_branch_1-venv/bin/uvicorn a.path.main:app --host=0.0.0.0 --port 9009 --loop uvloop --log-level info
    directory=/home/ubuntu/a_branch_1
    user=ubuntu
    autostart=true
    autorestart=true

示例配置:

以下是一个完整的 Supervisor 配置文件示例,展示了如何配置两个不同的任务,分别运行 master 分支和 branch_1 分支的代码。

[program:a_master]
command=/home/ubuntu/a_master-venv/bin/uvicorn a.path.main:app --host=0.0.0.0 --port 9009 --loop uvloop --log-level info
directory=/home/ubuntu/a_master
user=ubuntu
autostart=true
autorestart=true

[program:a_branch_1]
command=/home/ubuntu/a_branch_1-venv/bin/uvicorn a.path.main:app --host=0.0.0.0 --port 9010 --loop uvloop --log-level info
directory=/home/ubuntu/a_branch_1
user=ubuntu
autostart=true
autorestart=true

注意事项:

  • 确保为每个分支创建独立的虚拟环境,并使用相应的虚拟环境运行程序。 示例中使用了 a_master-venv 和 a_branch_1-venv 两个不同的虚拟环境。
  • 为了避免端口冲突,请为每个分支分配不同的端口。 示例中 a_master 使用 9009 端口,a_branch_1 使用 9010 端口。
  • 定期更新代码:使用 git pull 命令更新每个目录中的代码,确保运行的是最新版本的代码。
  • 目录权限:确保 Supervisor 运行的用户(示例中为 ubuntu)对所有目录具有读取和执行权限。

总结

通过将不同 Git 分支的代码检出到不同的目录,并配置 Supervisor 针对不同的目录运行程序,可以轻松地使用 Supervisor 管理部署在不同 Git 分支上的应用程序。这种方法灵活且易于管理,允许您在同一服务器上运行多个版本的应用程序,并通过 Supervisor 监控和管理它们,大大提升了部署和管理的效率。记住,Supervisor 并不直接与 Git 交互,它只负责执行文件系统中的程序,因此,关键在于合理组织文件系统结构,并将不同分支的代码隔离到不同的目录中。

相关专题

更多
自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

638

2023.07.05

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

526

2023.07.06

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

264

2023.07.24

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

544

2024.04.09

git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

512

2024.04.09

常见的linux系统有哪些
常见的linux系统有哪些

linux系统有Ubuntu、Fedora、CentOS、Debian、openSUSE、Arch Linux、Gentoo、Slackware、Linux Mint、Kali Linux。更多关于linux系统的文章详情请阅读本专题下面的文章。php中文网欢迎大家前来学习。

800

2023.10.27

ubunt上安装和配置vnc
ubunt上安装和配置vnc

安装方法:安装VNC服务器、启动VNC服务器、设置VNC密码等等。想了解更多ubuntu的相关内容,可以阅读本专题下面的文章。

409

2023.12.28

ubuntu启动黑屏解决方法
ubuntu启动黑屏解决方法

ubuntu启动黑屏解决方法:检查是否是电源问题、检查内存是否接触不良、检查显卡问题等。想了解更多ubuntu的相关内容,可以阅读本专题下面的文章。

656

2023.12.28

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

3

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 2.6万人学习

Git版本控制工具
Git版本控制工具

共8课时 | 1.5万人学习

Git中文开发手册
Git中文开发手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号