八、Atlassian JIRA项目管理工具

2024-05-10 21:48

本文主要是介绍八、Atlassian JIRA项目管理工具,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

JIRA一般用来作为PM跟踪和管理项目的工具,同时还可以集成phabricator,sonar,jekins等开源工具。。。

在JIRA上可以对代码进行CR和提BUG。

JIRA,大家应该都已经不陌生了! 
最初接触这个工具的时候,我还在一味地单纯依靠SVN管理代码,幻想着SVN可以有个邮件通知,至少在项目成员进行代码修改的时候,我可以第一时间通过邮件获得这个消息! 当然,如果手里管理的项目众多的时候,恐怕就要被淹没了! 
通常,当我们有一项任务需要传达,并开始实施的时候,多半靠嘴说。再不行,为了防止抵赖、也为了帮助自己回忆,我们都把这些工作写到了邮件里。但是,还是很难控制项目进度。一些相关的资料没有版本控制,往往不能绑定具体项目,甚至细化到具体的任务上。单纯靠邮件记录,成本太高! 

JIRA恰恰很好的解决了这些问题! 


相关链接: 

用JIRA管理你的项目——(一)JIRA环境搭建 
用JIRA管理你的项目——(二)JIRA语言包支持及插件支持 
用JIRA管理你的项目——(三)基于LDAP用户管理 



言归正传,JIRA搭建工作开始! 
首先,到JIRA主站上下载最新的JIRA(当前最新版本为4.2.2) 

Shell代码  收藏代码

  1. wget http://wpc.29c4.edgecastcdn.net/8029C4/downloads/software/jira/downloads/atlassian-jira-enterprise-4.2.2-b589-standalone.tar.gz  



至于说本地的JAVA_HOME环境,咱就不废话了,能进JavaEye来看blog的这点常识都是有的! 

其次,解压缩JIRA: 
我们把JIRA解压缩到 /usr/local目录下 

Shell代码  收藏代码

  1. tar vxzf atlassian-jira-enterprise-4.2.2-b589-standalone.tar.gz -C /usr/local/.  


jira的压缩包名字太长了,索性做个软连接 

Shell代码  收藏代码

  1. ln -s /usr/local/atlassian-jira-enterprise-4.2.2-b589-standalone/ /usr/local/jira  


然后,启动JIRA: 

Shell代码  收藏代码

  1. /usr/local/jira/bin/startup.sh  



访问http://localhost:8080/,这时候系统会提示jira.home未设置! 


jira.home不是JIRA的系统目录,是用来备份、升级、配置插件的JIRA系统环境目录!JIRA提供了系统自动备份的功能,就是依靠这个目录来完成的! 
为了避免与JIRA主目录冲突,我们为JIRA设置一个数据目录——/var/db/jira。 

Shell代码  收藏代码

  1. mkdir /var/db/jira  


先别急,除了建立目录还需要进行JIRA环境配置 
 
打开JIRA的server.xml文件 

Shell代码  收藏代码

  1. vi /usr/local/jira/conf/server.xml  


找到<Context>节点,追加 

Xml代码  收藏代码

  1. <Parameter name="jira.home" value="/var/db/jira"/>  


然后重启JIRA 

Shell代码  收藏代码

  1. /usr/local/jira/bin/shutdown.sh  
  2. /usr/local/jira/bin/startup.sh  


如果你恰巧赶上这个错误,那么恭喜你中奖了! 
 
其实只要删除上锁文件.jira-home.lock即可! 

Shell代码  收藏代码

  1. rm -rf /var/db/jira/.jira-home.lock  


然后重启! 

Shell代码  收藏代码

  1. /usr/local/jira/bin/shutdown.sh  
  2. /usr/local/jira/bin/startup.sh  



非常赞的系统!根据浏览器地域信息自动选择了中文语言支持,并且语言适配的非常准确!对比JIRA 3,简直就是飞跃! 
马上就要使用JIRA开展工作?!别急,首先需要获得jira授权码! 
至于当前设置,注意模式设定,一定要选择“Private”。只有管理员创建帐号,不然任何人都能创建帐号,岂不是丧失了项目管理的功能?!更何况很多公司都使用邮件帐号一统天下(最常用的技术点就是LDAP方式了)! 

然后设置管理员帐号 
 
最后设置好邮箱,就可以开始正式 试用 了!!! 
 
为什么是正式试用?咱这是快速启用,数据库都是内存数据库——HSQL DB,不能在生产环境中使用的! 

一转眼,就剩下28天多的试用期了!得赶紧试用了!呵呵! 
要商用,就要配置生产环境的数据库,比方说MySQL! 
首先要创建一个数据库——jiradb 

Sql代码  收藏代码

  1. create database jiradb charset=utf8  


同时,最好为jira指定一个专用的数据库帐号-jira 

Sql代码  收藏代码

  1. GRANT ALL PRIVILEGES ON jiradb.* TO jira@'%' IDENTIFIED BY 'jira';  


接下来,我们需要对JIRA进行手术! 
首先,修改server.xml 

Java代码  收藏代码

  1. vi /usr/local/jira/conf/server.xml   


注掉原来的<Resource>节点,替换如下内容 

Xml代码  收藏代码

  1. <Resource name="jdbc/JiraDS" auth="Container" type="javax.sql.DataSource"  
  2.             username="jira"  
  3.             password="jira"  
  4.             driverClassName="com.mysql.jdbc.Driver"  
  5.             url="jdbc:mysql://localhost/jiradb?useUnicode=true&amp;characterEncoding=UTF8"  
  6.             maxActive="20"   
  7.             validationQuery="select 1"/>  


然后,修改实体配置文件——entityengine.xml 

Shell代码  收藏代码

  1. vi /usr/local/jira/atlassian-jira/WEB-INF/classes/entityengine.xml   


找到

引用

    <datasource name="defaultDS" field-type-name="hsql" 
      schema-name="PUBLIC" 

这两行内容,把hsql改成mysql,然后干掉schema-name="PUBLIC" 
然后重启JIRA: 

Shell代码  收藏代码

  1. /usr/local/jira/bin/shutdown.sh  
  2. /usr/local/jira/bin/startup.sh  


接下来,让我们重复刚才的动作! 

成功登录,并且没有警告提示! 

尚且不说全中文版管理界面让人操作起来多少会有困难,更别说是全英文! 


昨天赞叹JIRA语言包支持丰富,今天终于找到了号称100%的语言支持包! 
在这里找到了JIRA4.2系列的中文支持包! 


号称汉化100%,下载下来验验! 
 

Shell代码  收藏代码

  1. wget http://www.confluence.cn/download/attachments/5668914/language_zh_CN.jar  



直接覆盖JIRA系统中的语言包! 

Shell代码  收藏代码

  1. mv language_zh_CN.jar /usr/local/jira/atlassian-jira/WEB-INF/lib/language_zh_CN.jar  



然后重启JIRA! 

Shell代码  收藏代码

  1. /usr/local/jira/bin/shutdown.sh  
  2. /usr/local/jira/bin/startup.sh  



进入管理界面,看看新变化! 


非常不错! 

除了语言包支持,JIRA还提供了插件支持。例如,我们想要实时获悉SVN代码的变化,就需要SVN的插件! 

在JIRA 插件页面上搜索关键字“SVN” 


究竟哪个SVN插件好用?!我也不知! 
JIRA Subversion Plugin貌似性价比最高,就用它了! 

下载 

Shell代码  收藏代码

  1. wget http://maven.atlassian.com/contrib/com/atlassian/jira/plugin/ext/subversion/atlassian-jira-subversion-plugin/0.10.5.4_01/atlassian-jira-subversion-plugin-0.10.5.4_01-distribution.zip  



解压缩 

Shell代码  收藏代码

  1. unzip atlassian-jira-subversion-plugin-0.10.5.4_01-distribution.zip  



将lib下的jar都拷贝到/usr/local/jira/atlassian-jira/WEB-INF/lib下! 

Shell代码  收藏代码

  1. cp atlassian-jira-subversion-plugin-0.10.5.4_01/lib/*.jar /usr/local/jira/atlassian-jira/WEB-INF/lib/.  



然后重启JIRA! 

Shell代码  收藏代码

  1. /usr/local/jira/bin/shutdown.sh  
  2. /usr/local/jira/bin/startup.sh  





其它插件亦可如此配置! 

 

要打开JIRA的LDAP设置,首先需要验证下你的LDAP服务是否正常! 
几乎有所有的LDAP访问都是以某一个用户身份访问的。也就是说需要你提供一个用户,用于登录LDAP服务器链接,然后才是获得登录用户的身份校验! 

现在选择系统 -> LDAP 

 

然后输入相关内容,点击确定! 



如果没有错误提示,就会看到这一个相关页面,并提示 



于是,我们获得了这样一个文件——osuser.xml 
 

Xml代码 

 收藏代码

  1. <!-- osuser.xml autogenerated by user 'snowolf' on 13/一月/11 for JIRA 3.6 -->  
  2. <opensymphony-user>  
  3.     <authenticator class="com.opensymphony.user.authenticator.SmartAuthenticator"/>  
  4.       
  5.     <provider class="com.opensymphony.user.provider.ldap.LDAPCredentialsProvider">  
  6.      <property name="java.naming.factory.initial">com.sun.jndi.ldap.LdapCtxFactory</property>  
  7.      <property name="java.naming.provider.url">ldap://ldap.zlex.org:389</property>  
  8.      <property name="searchBase">dc=zlex,dc=org</property>  
  9.      <property name="uidSearchName">sAMAccountName</property>  
  10.        
  11.      <property name="java.naming.security.principal">snowolf@zlex.org</property>  
  12.      <property name="java.naming.security.credentials">12345678</property>  
  13.        
  14.      <property name="exclusive-access">true</property>  
  15.     </provider>  
  16.   
  17.     <provider class="com.atlassian.core.ofbiz.osuser.CoreOFBizCredentialsProvider">  
  18.         <property name="exclusive-access">true</property>  
  19.     </provider>  
  20.       
  21.     <provider class="com.opensymphony.user.provider.ofbiz.OFBizProfileProvider">  
  22.         <property name="exclusive-access">true</property>  
  23.     </provider>  
  24.   
  25.     <provider class="com.opensymphony.user.provider.ofbiz.OFBizAccessProvider">  
  26.         <property name="exclusive-access">true</property>  
  27.     </provider>  
  28.   
  29. </opensymphony-user>  



完成这个文件替换后,我们需要在JIRA中开启LDAP设置! 

这个LDAP的配置位于 全局设置 -> 通用设置: 

 

同时,需要开启 外部密码管理: 



现在,你需要手工添加LDAP中的用户,然后重启JIRA测试你的系统是否生效! 

当然,JIRA也提供了批量用户导入。同时提供了工具,但前提是你要打开 通用设置中的“ 允许远程 API调用”,然后通过JIRA的用户导入工具将其导入系统。 

这篇关于八、Atlassian JIRA项目管理工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

CnPlugin是PL/SQL Developer工具插件使用教程

《CnPlugin是PL/SQLDeveloper工具插件使用教程》:本文主要介绍CnPlugin是PL/SQLDeveloper工具插件使用教程,具有很好的参考价值,希望对大家有所帮助,如有错... 目录PL/SQL Developer工具插件使用安装拷贝文件配置总结PL/SQL Developer工具插

Python使用FFmpeg实现高效音频格式转换工具

《Python使用FFmpeg实现高效音频格式转换工具》在数字音频处理领域,音频格式转换是一项基础但至关重要的功能,本文主要为大家介绍了Python如何使用FFmpeg实现强大功能的图形化音频转换工具... 目录概述功能详解软件效果展示主界面布局转换过程截图完成提示开发步骤详解1. 环境准备2. 项目功能结

Linux系统之stress-ng测压工具的使用

《Linux系统之stress-ng测压工具的使用》:本文主要介绍Linux系统之stress-ng测压工具的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、理论1.stress工具简介与安装2.语法及参数3.具体安装二、实验1.运行8 cpu, 4 fo

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

Python使用pynput模拟实现键盘自动输入工具

《Python使用pynput模拟实现键盘自动输入工具》在日常办公和软件开发中,我们经常需要处理大量重复的文本输入工作,所以本文就来和大家介绍一款使用Python的PyQt5库结合pynput键盘控制... 目录概述:当自动化遇上可视化功能全景图核心功能矩阵技术栈深度效果展示使用教程四步操作指南核心代码解析

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示

使用Python和Tkinter实现html标签去除工具

《使用Python和Tkinter实现html标签去除工具》本文介绍用Python和Tkinter开发的HTML标签去除工具,支持去除HTML标签、转义实体并输出纯文本,提供图形界面操作及复制功能,需... 目录html 标签去除工具功能介绍创作过程1. 技术选型2. 核心实现逻辑3. 用户体验增强如何运行