news 2026/4/14 1:22:27

阿里云上使用docker-compose安装禅道

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
阿里云上使用docker-compose安装禅道

引言

禅道 是一款国产的开源项目管理软件,主要用于敏捷开发、测试管理和缺陷跟踪。它集成了项目管理、产品管理、质量管理、文档管理、组织管理和事务管理等功能,适合软件开发团队使用。

一、禅道的主要功能:

1.1产品管理:

  • 需求管理:收集、整理和跟踪用户需求。
  • 产品计划:制定产品发布计划,关联需求与任务。
  • 发布管理:记录产品版本历史和功能变更。

1.2项目管理

  • 任务分解:将项目拆分为任务,分配给团队成员。
  • 进度跟踪:通过燃尽图、甘特图等工具监控项目进度。
  • 团队协作:支持任务指派、工时记录和进度反馈。

1.3质量管理

  • 测试用例管理:创建、执行和跟踪测试用例。
  • 缺陷跟踪:记录、分配和验证Bug,关联到需求或任务。
  • 测试报告:生成测试结果和缺陷统计报告。

1.4文档管理

  • 存储项目文档、技术资料和会议记录,支持版本控制。

1.5流程自定义

  • 支持工作流、权限和字段的自定义,适应不同团队流程。

1.6多工具集成

支持与Git、SVN、Jenkins、钉钉、企业微信等工具集成。

二、禅道的适用场景:

  1. 敏捷开发团队:支持Scrum、Kanban等敏捷方法论。
  2. 传统瀑布模型团队:提供项目计划、任务分解和进度跟踪。
  3. 测试团队:管理测试用例、Bug跟踪和测试报告。
  4. 产品经理:管理需求、版本规划和发布跟踪。

三、禅道的优势:

  • 开源免费:提供社区版,可免费使用和定制。
  • 一体化管理:覆盖项目全生命周期,减少工具切换成本。
  • 灵活定制:适应不同团队的流程和需求。
  • 国产化支持:符合国内团队的使用习惯,提供本地化服务。

四、禅道 Docker Compose 部署方案

1. 目录结构准备

mkdir-p zentao-docker/{mysql,app,backup}cdzentao-docker

2. docker-compose.yml 配置文件

version:'3.8'services: zentao: image: easysoft/zentao:latest# 官方镜像container_name: zentao restart: unless-stopped environment: -MYSQL_ROOT_PASSWORD=Zentao123456# MySQL root密码-ADMINER_ENABLED=true# 可选:启用phpMyAdmin-BIND_ADDRESS=false volumes:# 持久化禅道数据- ./app:/www/zentaopms# 持久化MySQL数据- ./mysql:/var/lib/mysql# 时区配置- /etc/localtime:/etc/localtime:ro# 自定义配置文件(可选)# - ./config/my.php:/www/zentaopms/config/my.phpports: -"8080:80"# Web访问端口-"3307:3306"# MySQL访问端口(可选)networks: - zentao-network depends_on: - zentao-db healthcheck: test:["CMD","curl","-f","http://localhost:80"]interval: 30s timeout: 10s retries:3zentao-db: image: mysql:5.7# 禅道推荐MySQL 5.7container_name: zentao-db restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: Zentao123456 MYSQL_DATABASE: zentao MYSQL_USER: zentao MYSQL_PASSWORD: Zentao123456 TZ: Asia/Shanghai volumes:# MySQL数据持久化- ./mysql:/var/lib/mysql# 初始化SQL(可选)# - ./init.sql:/docker-entrypoint-initdb.d/init.sql# 配置文件- ./mysql/conf.d:/etc/mysql/conf.d# 时区- /etc/localtime:/etc/localtime:ro command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --innodb_buffer_pool_size=256M --max_connections=1000networks: - zentao-network healthcheck: test:["CMD","mysqladmin","ping","-h","localhost","-u","root","-p$$MYSQL_ROOT_PASSWORD"]interval: 30s timeout: 10s retries:5# 可选:phpMyAdmin(数据库管理)phpmyadmin: image: phpmyadmin/phpmyadmin:latest container_name: zentao-phpmyadmin restart: unless-stopped environment: PMA_HOST: zentao-db PMA_PORT:3306UPLOAD_LIMIT: 512M ports: -"8081:80"networks: - zentao-network depends_on: - zentao-db networks: zentao-network: driver: bridge ipam: config: - subnet:172.20.0.0/16

3. 环境变量配置文件 (.env)

# 创建环境变量文件cat>.env<<EOF COMPOSE_PROJECT_NAME=zentao ZENTAO_VERSION=18.8 MYSQL_ROOT_PASSWORD=Zentao123456 MYSQL_DATABASE=zentao MYSQL_USER=zentao MYSQL_PASSWORD=Zentao123456 TZ=Asia/Shanghai HTTP_PORT=8080 MYSQL_PORT=3307 PHPMYADMIN_PORT=8081 EOF

4. MySQL配置文件

# 创建MySQL配置目录mkdir-p mysql/conf.d# 创建MySQL优化配置文件cat>mysql/conf.d/zentao.cnf<<EOF [mysqld] character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci max_connections=1000 innodb_buffer_pool_size=256M query_cache_type=1 query_cache_size=32M slow_query_log=1 long_query_time=2 log_queries_not_using_indexes=1 # 时区设置 default-time-zone='+08:00' [client] default-character-set=utf8mb4 EOF

5. 启动脚本 (start.sh)

#!/bin/bash# 禅道Docker部署脚本set-eecho"========== 禅道部署开始 =========="# 检查Docker和Docker Composeif!command-vdocker&>/dev/null;thenecho"错误: Docker未安装"exit1fiif!command-vdocker-compose&>/dev/null;thenecho"错误: Docker Compose未安装"exit1fi# 检查目录权限echo"检查目录权限..."mkdir-p ./{mysql,app,backup}chmod-R755./mysql ./appchown-R1000:1000 ./app# 禅道容器内用户UID通常为1000# 拉取镜像echo"拉取Docker镜像..."docker-composepull# 启动服务echo"启动禅道服务..."docker-composeup -d# 等待服务启动echo"等待服务启动..."sleep30# 检查服务状态echo"检查服务状态..."docker-composeps# 显示访问信息echo"========== 部署完成 =========="echo"禅道访问地址: http://服务器IP:8080"echo"默认账号: admin"echo"默认密码: 123456"echo""echo"数据库信息:"echo"- 主机: zentao-db"echo"- 端口: 3306 (容器内)"echo"- 数据库: zentao"echo"- 用户名: zentao"echo"- 密码: Zentao123456"echo""echo"phpMyAdmin: http://服务器IP:8081"echo"========== 完成 =========="

6. 备份脚本 (backup.sh)

#!/bin/bash# 禅道备份脚本BACKUP_DIR="./backup"DATE=$(date+%Y%m%d_%H%M%S)echo"开始备份禅道数据..."# 创建备份目录mkdir-p${BACKUP_DIR}/${DATE}# 备份MySQL数据库echo"备份MySQL数据库..."dockerexeczentao-db mysqldump -uroot -pZentao123456 --databases zentao>${BACKUP_DIR}/${DATE}/zentao_db_${DATE}.sql# 备份禅道应用文件echo"备份禅道应用文件..."tar-czf${BACKUP_DIR}/${DATE}/zentao_app_${DATE}.tar.gz ./app# 备份MySQL数据文件echo"备份MySQL数据文件..."tar-czf${BACKUP_DIR}/${DATE}/mysql_data_${DATE}.tar.gz ./mysql# 创建备份清单cat>${BACKUP_DIR}/${DATE}/README.txt<<EOF 禅道备份信息 备份时间:${DATE}备份内容: 1. 禅道数据库 (zentao_db_${DATE}.sql) 2. 禅道应用文件 (zentao_app_${DATE}.tar.gz) 3. MySQL数据文件 (mysql_data_${DATE}.tar.gz) 恢复说明: 1. 停止服务: docker-compose down 2. 恢复MySQL: docker exec -i zentao-db mysql -uroot -pZentao123456 < zentao_db_${DATE}.sql 3. 恢复文件: tar -xzf zentao_app_${DATE}.tar.gz -C ./ tar -xzf mysql_data_${DATE}.tar.gz -C ./ 4. 启动服务: docker-compose up -d EOF# 删除7天前的备份find${BACKUP_DIR}-type d -mtime +7 -execrm-rf{}\;echo"备份完成,文件保存在:${BACKUP_DIR}/${DATE}"

7. 完整的部署流程

# 1. 赋予脚本执行权限chmod+x start.sh backup.sh# 2. 启动禅道服务./start.sh# 3. 查看日志docker-composelogs -f zentao# 4. 停止服务docker-composedown# 5. 备份数据./backup.sh# 6. 查看容器状态docker-composeps# 7. 进入容器调试dockerexec-it zentao /bin/bash

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/13 3:10:41

亲测高中自习室智能排课系统:案例复盘与实践效果分享

智能排课系统在自习室场景中的实践价值近年来&#xff0c;随着教育科技的深度发展&#xff0c;越来越多的高中自习室开始引入智能排课系统&#xff0c;以应对学生个性化学习需求与管理效率之间的矛盾。其中&#xff0c;以“【高中自习室】”为代表的学习空间&#xff0c;通过整…

作者头像 李华
网站建设 2026/4/13 9:55:21

2026毕业论文降AI攻略:知网AI率控制在15%的实用方法

2026毕业论文降AI攻略&#xff1a;知网AI率控制在15%的实用方法 答辩前两周&#xff0c;我的论文被打回来了。理由是知网AIGC检测显示AI率38%&#xff0c;学校要求必须降到20%以下。 先说结论&#xff1a;用比话降AI&#xff08;www.bihuapass.com&#xff09;处理后&#xff…

作者头像 李华
网站建设 2026/4/13 16:59:33

Python Tkinter手搓一个寄存器计算器

寄存器计算器 专业的32位寄存器计算工具&#xff0c;为程序员和硬件工程师设计 软件概述 寄存器计算器&#xff08;Register Calculator&#xff09;是一款专业的32位寄存器计算工具&#xff0c;专为程序员和硬件工程师设计&#xff0c; 提供直观的位操作和进制转换功能&…

作者头像 李华
网站建设 2026/4/13 7:46:01

运行分析:助力设备商为客户交付容量与策略匹配分析方案

分析交换系统传输地与容量、配置广域网访问策略、验证策略路由对需求优先级的满足 摘要 面向设备集成商、IT外包公司、宽带组网运营商及楼宇企服资源方等技术服务伙伴&#xff0c;依托运行分析体系结合可视化运行监控系统&#xff0c;提供系统规划、标准化交付与平台化运维支…

作者头像 李华
网站建设 2026/4/10 1:57:03

运行报表:支撑IT外包公司为客户交付全栈网络报表分析方案

分析交换与宽带系统故障、追踪路由系统故障及资源使用率、评估广域网利用率与告警 摘要 面向设备集成商、IT外包公司、宽带组网运营商及楼宇企服资源方等技术服务伙伴&#xff0c;结合可视化运行监控系统&#xff0c;提供系统规划、标准化交付与平台化运维支撑&#xff0c;助…

作者头像 李华