【DevOps 工具链】搭建 项目管理软件 禅道
文章目录
- 1、简介
- 2、环境要求
- 3、搭建部署环境
- 3.1. 安装Apache服务
- 3.2. 安装PHP环境(以php7.0为例 )
- 3.3. 安装MySQL服务
- 4、搭建禅道
- 4.1、下载解压
- 4.2、 配置
- 4.2.1、 启动
- 4.2.2、自启动
- 4.2.3、确认是否开机启动
- 5、成功安装
1、简介
禅道是国产开源项目管理软件里面目前最火的,主要专注研发项目管理,比较适合 公司目前的 IPD 管理模型。
禅道是集项目集管理、产品管理、项目管理、质量管理、DevOps、知识库、BI效能、工作流、学堂、反馈管理、组织管理和事务管理于一体,是一款专业的研发项目管理软件,完整覆盖了研发项目管理的核心流程。禅道管理思想注重实效,功能完备丰富,操作简洁高效,界面美观大方,搜索功能强大,统计报表丰富多样,软件架构合理,扩展灵活,有完善的API可以调用。
禅道目前可以提供全生命周期的项目管理解决方案、DevOps一体化解决方案、自动化测试解决方案,让每一个项目都可实现高效管理。
禅道官网介绍:https://www.zentao.net/book/
2、环境要求
- 环境推荐使用 Linux + Apache + PHP7.0以上版本+MySQL5.5以上版本/MariaDB的组合。Nginx其次,不推荐IIS + PHP组合。
- PHP扩展:pdo、pdo_mysql、json、filte、openssl、mbstring、zlib、curl、gd、iconv。
- Linux系统下不推荐自己编译安装PHP,最好使用操作系统自带的包管理器安装PHP的运行环境。
3、搭建部署环境
3.1. 安装Apache服务
输入命令:
sudo apt-get install apache2

安装完重启服务
sudo service apache2 restart
服务管理:
#启动
sudo service apache2 start
#停止
sudo service apache2 stop
测试是否安装成功:
在浏览器里输入http://localhost或者是http://127.0.0.1,如果看到了It
works!,那就说明Apache就成功的安装了。
Apache的默认安装,会在/var下建立一个名为www的目录,这个就是Web目录了,所有要能过浏览器访问的Web文件都要放到这个目录里。
3.2. 安装PHP环境(以php7.0为例 )
输入命令:
sudo apt-get install php7.0

安装完成后输入:php -v 查看PHP是否安装成功。有的PHP扩展已默认安装,有的需要自己单独安装。

在实际安装禅道的系统检查里,如果是没有安装上的,检查后,直接再安装即可。
安装让Apache能够识别解析PHP的文件:
sudo apt-get install libapache2-mod-php7.0
测试是否能解析成功:
输入命令, 切换到Apache项目目录下:
cd /var/www/html
新建文件:
sudo vim info.php
文件内容:
<?php
phpinfo();
?>
保存后浏览器访问:http://localhost/info.php
如果一切正常的话,就会看到PHP的一些信息。

3.3. 安装MySQL服务
输入命令:
sudo apt-get install mysql-server
按提示设置数据库root用户的密码。
如果安装过程中提示依赖不足:
sudo apt-get install -f
服务管理:
#启动
sudo service mysql start
#停止
sudo service mysql stop
#服务状态
sudo service mysql status
#连接数据库
mysql -h 127.0.0.1 -P 3306 -uroot -p123456
#-h为远程IP,-P为端口号,-u为用户名,-p为密码
#测试SQL
show databases;

4、搭建禅道
4.1、下载解压
cd /opt
wget https://dl.cnezsoft.com/zentao/18.9/ZenTaoPMS-18.9-zbox_amd64.tar.gz
tar xvzf ZenTaoPMS-18.9-zbox_amd64.tar.gz


4.2、 配置
4.2.1、 启动
启动所有服务:
sudo /opt/zbox/zbox --aport 88 --mport 3306 start
停止所有服务:
/opt/zbox/zbox stop
重启所有服务:
/opt/zbox/zbox restart
3306端口被占用了,因此用3307端口

4.2.2、自启动
cd /lib/systemd/system/
sudo touch zentao.service
sudo vim zentao.service[Unit]Description=zentao zboxAfter=network.target[Service]Type=forkingExecStart=/opt/zbox/zbox --aport 88 --mport 3306 startExecReload=/opt/zbox/zbox restartExecStop=/opt/zbox/zbox stopPrivateTmp=true[Install]WantedBy=multi-user.target
sudo chmod 754 zentao.servicesudo systemctl start zentao.service
sudo systemctl stop zentao.service
sudo systemctl status zentao.service
sudo systemctl enable zentao.service



4.2.3、确认是否开机启动
sudo systemctl list-unit-files | grep zentao

5、成功安装
访问 http://XXX:88

选择开源版
账号admin,密码123456登进去后修改

相关文章:
【DevOps 工具链】搭建 项目管理软件 禅道
文章目录 1、简介2、环境要求3、搭建部署环境3.1. 安装Apache服务3.2. 安装PHP环境(以php7.0为例 )3.3. 安装MySQL服务 4、搭建禅道4.1、下载解压4.2、 配置4.2.1、 启动4.2.2、自启动4.2.3、确认是否开机启动 5、成功安装 1、简介 禅道是国产开源项目管…...
ES6的默认参数和rest参数
✨ 专栏介绍 在现代Web开发中,JavaScript已经成为了不可或缺的一部分。它不仅可以为网页增加交互性和动态性,还可以在后端开发中使用Node.js构建高效的服务器端应用程序。作为一种灵活且易学的脚本语言,JavaScript具有广泛的应用场景&#x…...
深入理解WPF MVVM:探索数据绑定与命令的优雅之道
引言: WPF(Windows Presentation Foundation)是一种用于创建富客户端应用程序的框架,而MVVM(Model-View-ViewModel)则是一种在WPF中使用的架构模式。MVVM提供了一种优雅的方式来组织和管理应用程序的代码&a…...
ssrf之gopher协议的使用和配置,以及需要注意的细节
gopher协议 目录 gopher协议 (1)安装一个cn (2)使用Gopher协议发送一个请求,环境为:nc起一个监听,curl发送gopher请求 (3)使用curl发送http请求,命令为 …...
SVN下载安装(服务器与客户端)
1.下载 服务器下载:Download | VisualSVN Server 客户端下载:自行查找 2. 服务器安装 双击执行 运行 下一步 同意下一步 下一步 选中安装目录 3. 客户端安装 双击执行 下一步 4. 服务器创建仓库 5. 服务器创建用户 6. 客户端获取资源 文件夹右键...
SpringIOC之ApplicationObjectSupport
博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…...
香橙派 ubuntu实现打通内网,外网双网络,有线和无线双网卡
当香橙派 ubuntu 连了有线,和无线时,默认请求外网时,只走一个网卡,如走了内网网卡,就只能访问内访问,访问不了外网;走了外网网卡就只能访问外网,访问不了内网; 实现双网…...
Spring Boot简单多线程定时任务实现 | @Async | @Scheduled
Spring Boot简单多线程定时任务实现 实现步骤 1 创建一个Spring Boot项目 2 定义定时任务: package com.jmd.timertasktest.task;import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.Async; impor…...
sklearn学习的一个例子用pycharm jupyter
环境 运行在jupyter 进行开发。即一个WEB端的开发工具。能适时显示开发的输出。后缀用的是ipynb.pycharm也可以支持。但也要提示按装jupyter. 或直接用andcoda 这里我们用pycharm进行项目创建 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jupyterlab pip ins…...
JVM的生命周期
1.加载(Loading): 在加载阶段,JVM会找到并加载Java字节码文件。加载阶段分为三个步骤:通过类的全限定名找到对应的字节码文件,创建一个与该类相关的Class对象,将类的静态数据结构存储在方法区中…...
ElasticSearch--基本操作
ElasticSearch 完成ES安装 http://101.42.93.208:5601/app/dev_tools#/console 库的操作 创建索引库 请求方式:PUT 请求路径:/索引库名,可以自定义 请求参数:mapping映射 PUT /test {"mappings": {"propertie…...
大数据应用发展史:从搜索引擎时代到机器学习时代
文章目录 搜索引擎时代数据仓库时代数据挖掘时代机器学习时代小结 大数据技术的使用经历了一个发展过程 从最开始的Google在搜索引擎中开始使用大数据技术,到现在无处不在的各种人工智能应用,伴随着大数据技术的发展,大数据应用也从曲高和寡…...
java基础之String的不可变性
目录 概述 String是如何实现不可变的 String为何设计成不可变的 1.缓存和性能优化 2.安全性 3.线程安全性 4.API设计和预测性能 概述 String类的不可变性意味着一旦创建了一个字符串对象,它的值就不能被修改。 String是如何实现不可变的 查看源码 public …...
【JS】Promise详解
概述 在 JavaScript 中,Promise 是一个表示异步操作最终完成或失败的对象。它本质上是一个返回的对象,你可以附加回调函数,而不是将回调传递给函数。 let promise new Promise((resolve, reject) > {let condition true; // 这可以是某…...
原生微信小程序如何动态配置主题颜色及如何调用子组件的方法
一、最终效果 二、步骤 1、在初始化进入项目时,获取当前主题色 2、把主题色定义成全局变量(即在app.js中设置) 3、tabBar也需要定义全局变量,在首页时需要重新赋值 三、具体实现 1、app.js onLaunch () {//获取主题数据this.set…...
Java关键字(1)
Java中的关键字是指被编程语言保留用于特定用途的单词。这些关键字不能用作变量名或标识符。以下是Java中的一些关键字: public:表示公共的,可以被任何类访问。 private:表示私有的,只能被定义该关键字的类访问。 cl…...
【机器学习合集】深度生成模型 ->(个人学习记录笔记)
深度生成模型 深度生成模型基础 1. 监督学习与无监督学习 1.1 监督学习 定义 在真值标签Y的指导下,学习一个映射函数F,使得F(X)Y 判别模型 Discriminative Model,即判别式模型,又称为条件模型,或条件概率模型 生…...
Java将PDF转换为文本
在Java中,你可以使用现有的库来将PDF文件转换为文本。下面是一个简单的示例,使用Apache PDFBox库来实现PDF到文本的转换。首先,确保在你的项目中添加了Apache PDFBox库的依赖。你可以在 Maven 项目中添加以下依赖: <!--Pdf--&g…...
Linux 运维工具之1Panel
一、1Panel 简介 1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。 特点: 快速建站:深度集成 Wordpress 和 Halo,域名绑定、SSL 证书配置等一键搞定;高效管理:通过 Web 端轻松管理 Linux 服务器࿰…...
深入了解小红书笔记详情API:为内容创新提供动力
一、小红书笔记详情API简介 小红书笔记详情API是一种允许开发者访问小红书平台上的笔记详细数据的接口。通过这个API,我们可以获取笔记的标题、内容、标签、点赞数、评论数等详细信息。这些数据对于内容创作者和品牌来说至关重要,可以帮助他们了解用户喜…...
如何选择可靠的第三方软件测试机构,构建全生命周期的软件安全防线
在数字化转型的浪潮中,软件已成为企业运营的核心。然而,伴随其重要性一同增长的,是日益严峻的安全威胁。传统软件开发流程中,安全测试往往被置于交付前的独立环节,这种“事后补丁”的模式导致安全漏洞发现晚、修复成本…...
AIGC时代,程序员会被取代吗?我的看法与行动建议
AIGC时代,程序员会被取代吗?我的看法与行动建议 随着AI生成内容(AIGC)技术的迅猛发展,许多人开始担忧:程序员这一职业是否会被AI取代?从代码生成工具GitHub Copilot到对话式编程助手ChatGPT&am…...
OpenClaw可视化监控:为nanobot任务添加Web仪表盘
OpenClaw可视化监控:为nanobot任务添加Web仪表盘 1. 为什么需要可视化监控? 去年夏天,我部署了一个基于OpenClaw的nanobot自动化任务,用于定时抓取行业动态并生成日报。最初几周运行良好,直到某天早上发现连续三天的…...
CentOS7 下 Go 多版本管理与无缝升级指南
1. 为什么需要Go多版本管理? 在CentOS7系统上开发Go项目时,经常会遇到这样的尴尬:新项目需要用最新版Go的特性,而老项目必须跑在特定旧版本上才能兼容。我去年就踩过这个坑——用Go 1.21写完的微服务,部署到生产环境发…...
WarcraftHelper:魔兽争霸3终极优化指南 - 解锁现代硬件性能
WarcraftHelper:魔兽争霸3终极优化指南 - 解锁现代硬件性能 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper WarcraftHelper是一款专为魔兽…...
Win32下用libigl+GLFW3渲染3D模型的完整配置指南(附常见错误排查)
Win32下用libiglGLFW3渲染3D模型的完整配置指南(附常见错误排查) 在Windows平台进行3D图形开发时,libigl与GLFW3的组合为开发者提供了强大的工具集。libigl作为一个轻量级的C几何处理库,与GLFW3这一跨平台的OpenGL窗口管理库结合…...
Visual Studio 2019安装Python组件失败?教你手动定位installer目录完成安装
Visual Studio 2019安装Python组件失败的终极解决方案 当你在Visual Studio 2019中尝试安装Python组件时,突然遇到"安装程序不完整"的错误提示,这确实令人沮丧。作为一名长期使用VS进行Python开发的工程师,我完全理解这种中断对工作…...
别死记硬背了!用Python的NumPy库,5分钟搞定线性代数里的矩阵运算(附代码)
用Python的NumPy库轻松玩转线性代数:矩阵运算实战指南 线性代数作为现代科学与工程的基石,在机器学习、计算机图形学、量化金融等领域无处不在。但传统教材中抽象的数学符号和繁琐的手工计算,往往让学习者望而生畏。今天,我们将用…...
省流量秘籍:ESP32+LittleFS构建超轻量级物联网WEB界面(附低功耗配置)
ESP32物联网低功耗WEB界面开发实战:从LittleFS优化到移动端适配 在野外环境或移动场景中部署物联网设备时,每毫安的电流消耗和每KB的流量都值得精打细算。ESP32作为一款高性价比的Wi-Fi/蓝牙双模芯片,其灵活的网络配置和丰富的外设接口使其成…...
MCprep插件终极指南:从Minecraft世界到专业动画的完整解决方案
MCprep插件终极指南:从Minecraft世界到专业动画的完整解决方案 【免费下载链接】MCprep Blender python addon to increase workflow for creating minecraft renders and animations 项目地址: https://gitcode.com/gh_mirrors/mc/MCprep 你是否曾梦想将Min…...

