云计算百科
云计算领域专业知识百科平台

禅道(ZenTao)Docker Compose 搭建与内网离线部署手册

禅道(ZenTao)Docker Compose 搭建与内网离线部署手册

一、安装准备

1.1 创建本地目录结构

在当前目录(如 /zentao)下创建以下结构,挂载数据防止丢失:

mkdir -p ./mariadb
mkdir -p ./zentao

1.2 编写 docker-compose.yml

使用官方 Bitnami 镜像组合服务:

version: '3.8'

services:

zentao-db:
image: bitnami/mariadb:10.6
container_name: zentaodb
restart: always
volumes:
./mariadb:/bitnami/mariadb
networks:
zentaonet
environment:
MARIADB_ROOT_PASSWORD=pass4Zentao
MARIADB_DATABASE=zentao
MARIADB_USER=my_user
MARIADB_PASSWORD=my_password
MARIADB_CHARACTER_SET=utf8mb4
MARIADB_COLLATE=utf8mb4_unicode_ci
healthcheck:
test: ["CMD", "/opt/bitnami/scripts/mariadb/healthcheck.sh"]
interval: 15s
timeout: 5s
retries: 6

zentao-cache:
image: bitnami/redis:6.2
container_name: zentaocache
restart: always
environment:
REDIS_PASSWORD=pass4Zentao
volumes:
./redis:/bitnami/redis/data
networks:
zentaonet

zentao:
image: easysoft/zentao:latest
container_name: zentao
restart: always
ports:
'9527:80'
volumes:
./zentao:/data
./zentao/sess:/tmp/sess
depends_on:
zentaodb
zentaocache
environment:
ZT_MYSQL_HOST=zentaodb
ZT_MYSQL_PORT=3306
ZT_MYSQL_USER=my_user
ZT_MYSQL_PASSWORD=my_password
ZT_MYSQL_DB=zentao

ZT_REDIS_HOST=zentaocache
ZT_REDIS_PORT=6379
ZT_REDIS_PASSWORD=pass4Zentao
ZT_REDIS_SERIALIZER=igbinary
ZT_CACHE_ENABLE=true
ZT_CACHE_TYPE=redis
ZT_CACHE_SCOPE=private
ZT_CACHE_LIFETIME=0

PHP_SESSION_TYPE=redis
PHP_SESSION_PATH=tcp://zentaocache:6379?auth=pass4Zentao
PHP_EXT_REDIS=true
PHP_SESSION_REDIS_DATABASE=6

PHP_MAX_EXECUTION_TIME=120
PHP_MEMORY_LIMIT=512M
PHP_POST_MAX_SIZE=128M
PHP_UPLOAD_MAX_FILESIZE=128M

networks:
zentaonet

networks:
zentao-net:
driver: bridge

启动:

docker-compose up -d

权限建议(防止禅道、数据库无权限写入)

sudo chown -R 1001:1001 ./mariadb
sudo chown -R 1001:1001 ./redis
sudo chown -R 33:33 ./zentao


二、初始化配置

访问浏览器:http://<服务器IP>:9527

按界面提示完成:

  • 设置数据库连接:

    • 服务器地址:zentao-db
    • 用户名:my_user
    • 密码:my_password
    • 数据库名:zentao
  • 设置管理员账户和密码

三、配置保存路径

配置将保存至:

/apps/zentao/config/my.php

示例内容:

$config->installed = true;
$config->debug = false;
$config->requestType = 'GET';
$config->timezone = 'Asia/Shanghai';
$config->db->driver = 'mysql';
$config->db->host = 'zentao-db';
$config->db->port = '3306';
$config->db->name = 'zentao';
$config->db->user = 'my_user';
$config->db->encoding = 'utf8mb4';
$config->db->password = 'my_password';
$config->db->prefix = 'zt_';
$config->webRoot = getWebRoot();
$config->default->lang = 'zh-cn';


四、导入测试用例(CSV)

禅道支持 Excel(CSV 格式)导入测试用例。

4.1 CSV 模板字段:

  • 所属模块
  • 用例名称
  • 前置条件
  • 步骤
  • 预期
  • 关键词
  • 优先级
  • 用例类型
  • 适用阶段

脚本输出文件可在禅道“测试用例”中选择“导入CSV”进行批量导入。


五、常见问题及解决方案

5.1 无法连接数据库

  • 检查数据库服务是否正常运行
  • 配置文件 my.php 是否填写正确(host 应为 zentao-db)

5.2 healthcheck.sh 脚本缺失

  • Bitnami 镜像中 /opt/bitnami/scripts/mariadb/healthcheck.sh 用于健康检查
  • 若未启用健康检查可忽略此错误

5.3 禅道页面提示 Session 目录不存在

mkdir -p /tmp/session
chmod -R 777 /tmp/session

或者修改 PHP 配置文件 php.ini 中的 session.save_path


六、离线部署建议

  • 禅道镜像与依赖镜像提前下载保存:

    docker pull easysoft/zentao
    docker pull bitnami/mariadb:10.6
    docker save -o zentao.tar easysoft/zentao
    docker save -o mariadb.tar bitnami/mariadb:10.6

  • 在内网环境中使用 docker load 加载镜像:

    docker load -i zentao.tar
    docker load -i mariadb.tar

  • 保留完整 docker-compose.yml 和配置文件,便于复现


赞(0)
未经允许不得转载:网硕互联帮助中心 » 禅道(ZenTao)Docker Compose 搭建与内网离线部署手册
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!