【工具相关】zentao用例管理平台部署实践

2024-03-07 12:28

本文主要是介绍【工具相关】zentao用例管理平台部署实践,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 一、备份还原
      • 1、数据备份
        • 1.1、前言
        • 1.2、版本备份
        • 1.3、数据备份
      • 2、数据恢复
        • 2.1、版本恢复
        • 2.2、数据恢复
    • 二、问题处理
      • 1、ERROR: SQLSTATE[HY000] [2002] Connection refused

一、备份还原

1、数据备份

1.1、前言

禅道系统从10.6版本以后,新增数据备份设置功能,允许管理员可以按自己实际需求来备份指定文件和目录。

  • 定时任务
    访问入口:后台系统定时
    注:默认情况下,每天凌晨00:30定时进行备份任务操作(备份数据和附件),可根据实际情况配置定时任务启动时间

  • 任务列表

小时命令备注最后执行状态操作
300***moduleName=backup&methodName=backup备份数据和附件20-07-07 00:30:07运行中禁用 编辑
  • 备份配置
    访问入口:后台数据备份
    注:默认情况下,每天定时将数据备份到/opt/zbox/app/zentao/tmp/backup/目录下,可根据实际情况配置备份目录和保留时间
1.2、版本备份

当禅道进行数据恢复时,需要搭建相同版本禅道环境(保证网页可正常访问),之后方可进行数据导入恢复操作,此处记录两种版本恢复方法
–官方下载版本:从官方下载相同禅道版本
–人为备份版本:人为手动备份当前禅道版本

  • 官方下载版本

禅道 12.0.stable 版本发布,新增年度总结,将版本库部分功能移植到开源版,修复Bug

示例环境使用禅道12.0 开源版版本环境,Linux一键安装包64位下载地址详见官方下载源

  • 人为备份版本

停止zbox服务进程,对/opt/zbox/整个目录进行全量备份

/opt/zbox/zbox stop
tar zcf /mnt/zbox_system_backup/`date "+%Y-%m-%d"`-zbox.tar /opt/zbox
/opt/zbox/zbox start
1.3、数据备份
  • 预先将备份空间备份到挂载到/mnt/zbox_system_backup/目录下
  • 设置备份目录为/mnt/zbox_system_backup/,备份时间为14

在这里插入图片描述

[root@node40 ~]# ll /mnt/zbox_system_backup/
total 187468
drwxr-xr-x 10 nobody nogroup       160 Oct 26 16:38 202010261638031.code
drwxr-xr-x  5 nobody nogroup        68 Oct 26 16:38 202010261638031.file
-rw-r--r--  1 nobody nogroup  81509397 Oct 26 16:38 202010261638031.sql.php

2、数据恢复

官方提供两种备份方案如下,示例使用方案二
.
禅道后台-备份 备份还原操作步骤:
方案一:
1、搭建相同版本号的禅道,保证网页可以正常访问;
2、拷贝备份文件到新禅道相同目录,分配读写权限;
3、网页登录新禅道 后台-备份 点击还原按钮进行还原。
方案二:
1、搭建相同版本号的禅道,保证网页可以正常访问;
2、将备份文件 sql.php 用文本编辑器打开删除开头的 ,然后重命名去掉.php,然后导入禅道数据库中;
3、将附件文件 file.zip.php 用文本编辑器打开删除开头的 ,然后重命名去掉.php,然后解压放到新禅道 www/data/upload/ 下面。

2.1、版本恢复
[root@node41 ~]# tar -zxvf ZenTaoPMS.12.0.stable.zbox_64.tar.gz -C /opt/
[root@node41 ~]# /opt/zbox/zbox -ap 8001 -mp 3307
[root@node41 ~]# /opt/zbox/zbox start
[root@node41 ~]# lsof -i:8001
[root@node41 ~]# curl -i http://127.0.0.1:8001/zentao/

注:
1、修改apache端口为8001(-ap 8001),修改mysql端口为3307(-mp 3307)
2、禅道环境搭建成功后,检查端口启动及网页是否可以正常访问

2.2、数据恢复

预先将最新的备份文件拷贝到目标禅道系统下

[root@node41 zbox_system_backup]# ll
total 79600
drwxr-xr-x 10 root root      160 Oct 26 17:17 202010261638031.code
drwxr-xr-x  5 root root       68 Oct 26 17:17 202010261638031.file
-rw-r--r--  1 root root 81509397 Oct 26 17:17 202010261638031.sql.php
  • 代码文件恢复

1)、将代码文件覆盖到禅道系统目录下/opt/zbox/app/zentao/

[root@node41 zbox_system_backup]# \cp -rf /mnt/zbox_system_backup/202010261638031.code/* /opt/zbox/app/zentao/
  • 数据库恢复

1)、重命名数据库文件xx.sql.php,去掉.php后缀

 [root@node41 zbox_system_backup]# cp 202010261638031.sql.php 202010261638031.sql

2)、修改数据库文件xx.sql.php,删除第一行信息<?php die();?>

[root@node41 zbox_system_backup]# sed -i -e '/<?php die();?>/d' 202010261638031.sql

3)、导入禅道zentao数据库内

[root@node41 zbox_system_backup]# /opt/zbox/bin/mysql -u root -P 3306 -p zentao < 202010261638031.sql

注:禅道默认用户名为root,默认密码为空或者123456

4)、检查数据库导入情况,默认情况下,禅道数据库文件存放于/opt/zbox/data/mysql/zentao/目录下

[root@node41 ~]# ls -la /opt/zbox/data/mysql/zentao/zt_* | wc -l
198
  • 附件恢复
[root@node41 zbox_system_backup]# \cp -rf  202010261638031.file/* /opt/zbox/app/zentao/www/data/

二、问题处理

本篇主要记录在使用禅道过程中出现的一些问题及对应处理措施

1、ERROR: SQLSTATE[HY000] [2002] Connection refused

  • **问题描述:**访问http://127.0.0.1:8001 可以访问成功,但访问http://127.0.0.1:8001/zentao 时访问失败

在这里插入图片描述

  • **原因分析:**查看mysql服务进程启动端口为3307(mysql.sock --port=3307),但zentao配置文件记录的访问端口却是3308(config->db->port = ‘3308’;),zentao访问mysql端口与实际mysql端口不一致,导致zentao访问失败
[root@node41 ~]# ps -ef | grep mysql
mysql      10606       1  0 Oct10 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
mysql      11419   10606  1 Oct10 ?        06:00:32 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock
root     2395121       1  0 09:09 pts/0    00:00:00 /bin/sh /opt/zbox/run/mysql/mysqld_safe --defaults-file=/opt/zbox/etc/mysql/my.cnf
nobody   2395367 2395121  0 09:09 pts/0    00:00:01 /opt/zbox/run/mysql/mysqld --defaults-file=/opt/zbox/etc/mysql/my.cnf --basedir=/opt/zbox/run/mysql --datadir=/opt/zbox/data/mysql --plugin-dir=/opt/zbox/run/lib/mysql/plugin --user=nobody --log-error=/opt/zbox/logs/mysql_error.log --pid-file=/opt/zbox/tmp/mysql/mysqld.pid --socket=/opt/zbox/tmp/mysql/mysql.sock --port=3307
root     2423575 2378263  0 09:22 pts/0    00:00:00 grep --color=auto mysql
[root@node41 ~]# cat /opt/zbox/app/zentao/config/my.php 
<?php
$config->installed       = true;
$config->debug           = false;
$config->requestType     = 'PATH_INFO';
$config->db->host        = '127.0.0.1';
$config->db->port        = '3308';
$config->db->name        = 'zentao';
$config->db->user        = 'zentao';
$config->db->password    = '123456';
$config->db->prefix      = 'zt_';
$config->webRoot         = getWebRoot();
$config->default->lang   = 'zh-cn';
  • **处理措施:**修改/opt/zbox/app/zentao/config/my.php配置文件,将zentao访问端口改为3307
    重启zentao服务进程,再次访问可正常访问
[root@node41 ~]# cat /opt/zbox/app/zentao/config/my.php | grep port
$config->db->port        = '3307';
[root@node41 ~]# /opt/zbox/zbox restart

这篇关于【工具相关】zentao用例管理平台部署实践的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/783512

相关文章

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

MySQL分库分表的实践示例

《MySQL分库分表的实践示例》MySQL分库分表适用于数据量大或并发压力高的场景,核心技术包括水平/垂直分片和分库,需应对分布式事务、跨库查询等挑战,通过中间件和解决方案实现,最佳实践为合理策略、备... 目录一、分库分表的触发条件1.1 数据量阈值1.2 并发压力二、分库分表的核心技术模块2.1 水平分