Jump to navigation

You are currently browsing all posts tagged with 'jira'

jira,confluence 前面再放一个apache

  • Posted on March 8, 2010 at 4:33 pm

为什么要再加一个apache呢?

看一下现在的URL:

Jira 的访问地址是  http://192.168.0.163:10000/jira

Confluence的地址是  http://192.168.0.163:20000/confluence

两个端口不同,不太好记。。。

所以在前面再放一个apache, 利用apache的proxy功能,转发web请求到后面的tomcat.

修改apache的配置文件 conf/httpd.conf

先加载二个模块:

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_http_module modules/mod_proxy_http.so

再加入以下的配置:

<Proxy *>

Order deny,allow

Allow from all

</Proxy>

ProxyRequests       Off

ProxyPreserveHost         On

ProxyPass           /jira       http://192.168.0.163:10000/jira

ProxyPassReverse    /jira       http://192.168.0.163:10000/jira

ProxyPass /confluence             http://192.168.0.163:20000/confluence

ProxyPassReverse /confluence       http://192.168.0.163:20000/confluence

重启apache.

以后jira的访问地址就变成了  http://192.168.0.163/jira

Confluence的地址变成了 http://192.168.0.163/confluence

Jira与confluence的整合

  • Posted on March 8, 2010 at 4:32 pm

英文版文档:

http://confluence.atlassian.com/display/DOC/Integrating+JIRA+and+Confluence

主要有2个方面:

1         共用使用同一个用户数据库。

2  confluence与jira互相调用数据。

先说第一点: jira与confluence共用同一个用户数据库。

如果要做单点登录的话,Crowd 是最好的选择。  如果只是想让jira和confluence共用同一个用户数据库,就不必用到Crowd了。只要你的jira用的是外部数据库(比如mysql)即可。

在改造之前,先提个醒:

1          以下的例子是Tomcat 和mysql. 如果你用其它的web/db服务器的话,不要照抄啊。

2    如果jira使用了LDAP认证,那么是不行的。 请看文档

http://confluence.atlassian.com/display/DOC/Add+LDAP+Integration

2         一定要把Confluence安装在单独的数据库里面,不要和jira混在同一个库。

3         如果你的confluence里面已经有一些用户了,改造之后,这些用户都将无法使用。 Confluence里面的内容页,也不会和任何的正常用户相关联了。所以,刚安装好confluence的时候,我们什么内容也不要添加进去。

再简单描述一下这种技术:

Confluence 会使用jira的用户数据库,所以confluence会连接二个库:

1 自己的数据库,就是在安装过程中设置的那个数据库。这个库保存了spaces, pages,comments,etc.

2         只读地连接到jira的用户数据库。

为什么这种技术可行呢? 因为confluence 和 jira 的OSUser表是相同结构的。

第一步,修改confluence的配置文件  安装目录里面的 application/conf/server.xml

在 <Context path=”/confluence” 里面添加一个Resource

<Resource auth=”Container”

username=”jirauser”

password=”jirapwd227″

driverClassName=”com.mysql.jdbc.Driver”

url=”jdbc:mysql://localhost/jiradb?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=UTF8″/>

这种写法是 Tomcat 5.5.x的。 如果你的tomcat版本比较低,请自行修改。

第二步 修改confluence安装目录里面的 application\confluence\WEB-INF\classes\osuser.xml

把<authenticator 里面的第二段 <provider 注释掉, 把第一段<provider 取消注释。

结果如下:

<opensymphony-user>

<!–

Authenticators can take properties just like providers.

This smart authenticator should work for ‘most’ cases – it dynamically looks up

the most appropriate authenticator for the current server.

–>

<authenticator class=”com.opensymphony.user.authenticator.SmartAuthenticator”/>

<!– JIRA User management (with caching) –>

<!– Note: Do not add any line breaks or spaces when specifying the chain.classname, otherwise a ClassNotFoundException will be thrown –>

<provider class=”bucket.user.providers.CachingCredentialsProvider”>

<property name=”chain.classname”>com.atlassian.confluence.user.providers.jira.JiraJdbcCredentialsProvider</property>

<property>java:comp/env/jdbc/JiraDS</property>

</provider>

<provider class=”bucket.user.providers.CachingAccessProvider”>

<property name=”chain.classname”>com.atlassian.confluence.user.providers.jira.JiraJdbcAccessProvider</property>

<property>java:comp/env/jdbc/JiraDS</property>

</provider>

<provider class=”bucket.user.providers.CachingProfileProvider”>

<property name=”chain.classname”>com.atlassian.confluence.user.providers.jira.JiraJdbcProfileProvider</property>

<property name=”chain.datasource”>java:comp/env/jdbc/JiraDS</property>

<property name=”chain.configuration.provider.class”>bucket.user.BucketHibernateConfigProvider</property>

</provider>

<!–

<provider class=”bucket.user.providers.CachingCredentialsProvider”>

<property name=”chain.classname”>com.opensymphony.user.provider.hibernate.HibernateCredentialsProvider</property>

<property name=”chain.configuration.provider.class”>bucket.user.BucketHibernateConfigProvider</property>

</provider>

<provider class=”bucket.user.providers.CachingAccessProvider”>

<property name=”chain.classname”>com.opensymphony.user.provider.hibernate.HibernateAccessProvider</property>

<property name=”chain.configuration.provider.class”>bucket.user.BucketHibernateConfigProvider</property>

</provider>

<provider class=”bucket.user.providers.CachingProfileProvider”>

<property name=”chain.classname”>com.opensymphony.user.provider.hibernate.HibernateProfileProvider</property>

<property name=”chain.configuration.provider.class”>bucket.user.BucketHibernateConfigProvider</property>

</provider>

–>

<!–<provider class=”com.opensymphony.user.provider.memory.MemoryCredentialsProvider” />

<provider class=”com.opensymphony.user.provider.memory.MemoryAccessProvider” />

<provider class=”com.opensymphony.user.provider.memory.MemoryProfileProvider” />–>

</opensymphony-user>

这里的jdbc/JiraDS 就是前面我们在confluence的conf/server.xml里面设置过的。

第三步 修改confluence安装目录里面的

application\confluence\WEB-INF\classes\atlassian-user.xml

注释掉

<hibernate key=”hibernateRepository”  description=”Hibernate Repository” cache=”true”/>

添加一行

<osuser key=”osuserRepository”/>

第四步 用管理员身份登录jira

添加二个用户组:  confluence-users组和confluence-administators 组

把必要的用户添加到这二个组里面

第五步 在confluence中激活外部用户管理(External User Management)

管理->总体配置->安全和隐私->外部用户管理   设置为“打开”

Administration->General Configuration ->Options And Setting->External User Management

结束。

接下来说一说 confluence与jira互相调用数据。

如果是Confluence 3.1 and JIRA 4.0及以后的版本,可以使用Gadgets. 文档如下:

http://confluence.atlassian.com/display/DOC/Adding+a+Confluence+Gadget+to+a+JIRA+Dashboard

http://confluence.atlassian.com/display/DOC/Gadget+Macro

如果是 Confluence 3.1 and JIRA 4.0 之前的版本,就要使用{jiraissues} and {jiraportlet} 这二个宏来把jira的数据嵌入到confluence中。

The JIRA Issues and the JIRA Portlet macros allow you to embed a list of JIRA issues into a Confluence page. Prior to Confluence 2.7, if you wanted to display JIRA issues that had restricted viewing, then you needed to store the JIRA user’s credentials (username and password) in the macro code directly on the Confluence page. This was not very secure.

所以我们要设置一下 Trusted Communication between JIRA and Confluence

适用版本:

JIRA 3.12.0 or later.

Confluence 2.7.0 or later.

第一步,使jira信任confluence.

用管理员身份登录jira,在系统设置->信任的应用管理  里面,添加confluence的baseurl:  http://192.168.0.163:20000/confluence

第二步,在confluence中设置宏

用管理员身份登录confluence, 配置->插件管理-> JIRA Macros

里面共有四个组件:

jiraportlet

jiraissues

JIRA application trust support

JIRA application trust warnings

默认是全部设置为“允许”的。

JIRA application trust warnings 可以设置为”禁止”.

第三步,把宏添加到confluence页面中

编辑某个confluence页面, 切换到 Wiki标记符, 输入

{jiraissues:url=CONTENT}

CONTENT就是jira中某个filter 的url.

下面讲一下这个url如何获取。

登录到jira里面,

打开 ‘问题’ 页面,创建一个新的查询。

设置好查询的参数,点击“查看>>”。

如果问题列表可以显示出来的话,点击页面右上角的 “Views”,复制下拉菜单中的XML的网址即可。

jar-5

Jira与svn的整合

  • Posted on March 8, 2010 at 4:28 pm

atlassian-jira-subversion-plugin-0.10.5.2-distribution.zip

官方提供的plugin.

下载地址:

https://studio.plugins.atlassian.com/wiki/display/SVN/Subversion+JIRA+plugin;jsessionid=E9B946A5A24024D5B60C49CE94A4A680#JIRASubversionplugin-versions

解压出来,英文版的安装文档就是里面的readme

把以下文件放到 jira安装目录/atlassian-jira\WEB-INF\lib 里面:

Lib/atlassian-jira-subversion-plugin-0.10.5.2.jar

Lib/svnkit-1.2.1.5297.jar

Lib/trilead-ssh2-build213-svnkit-1.2-patch.jar

然后修改 subversion-jira-plugin.properties

主要改一下 svn.root   svn.display.name  svn.username 和 svn.password

然后复制到 jira安装目录/atlassian-jira\WEB-INF\classes 里面

重启jira服务。

Scheduling

———-

You can also optionally configure Subversion service’s schedule to check for new commits (defaults to 1 hour)

To do this, in JIRA:

- go to the “Administration” tab

- click on the “System” menu item

- click on “Services”

- edit the Subversion Indexing Service

- update the period (in minutes) to whatever you want.

Restarting

———-

If you want to reindex all of your commits or anything goes astray, simply:

- stop the JIRA server

- delete ${jira’s_index_dir}/plugins/atlassian-subversion-revisions

- start JIRA

使用svn客户端提交的时候,在Messages对话框里面,要写明bug的关键字。

例如:

jar-2

jar-3

然后我们去jira里面看一下这个问题的处理情况。

jar-4

如果jira无法检测到svn的更新,请去“系统管理”=》Subversion Repositories 里面,检查一下有没有你设置的svn库。如果没有,就在这里设置一下。

jira与mysql的整合

  • Posted on March 8, 2010 at 4:25 pm

为什么要用外部数据库呢?

As part of its installation process, JIRA Standalone automatically installs, configures and connects itself to an HSQLDB database. This is fine for evaluation purposes, however HSQLDB is prone to database corruption. For production installations, we strongly recommend that you connect JIRA to an enterprise database. This also lets you take advantage of existing database backup and recovery procedures.

英文版文档: http://confluence.atlassian.com/display/JIRA/Connecting+JIRA+to+MySQL

我们使用mysql 的 innodb .  因为jira是要用到事务的。

create database jiradb character set utf8;

grant all on jiradb.* to ‘jirauser’@’localhost’ identified by ‘jirapwd227’;

复制 mysql-connector-java-5.1.12-bin.jar 到 jira安装目录/common/lib/下。

mysql-connector-java-5.1.12-bin.jar的下载地址: http://dev.mysql.com/downloads/connector/j

修改conf/server.xml

<Server port=”10001″ shutdown=”SHUTDOWN”>

<Service>

<Connector port=”10000″

maxHttpHeaderSize=”8192″ maxThreads=”150″ minSpareThreads=”25″ maxSpareThreads=”75″

enableLookups=”false” redirectPort=”8443″ acceptCount=”100″

connectionTimeout=”20000″ disableUploadTimeout=”true” />

<Engine defaultHost=”localhost”>

<Host appBase=”webapps” unpackWARs=”true” autoDeploy=”true”>

<Context path=”" docBase=”${catalina.home}/atlassian-jira” reloadable=”false”>

<Resource name=”jdbc/JiraDS” auth=”Container” type=”javax.sql.DataSource”

username=”jirauser”

password=”jirapwd227″

driverClassName=”com.mysql.jdbc.Driver”

url=”jdbc:mysql://localhost/jiradb? autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=UTF8″

maxActive=”20″

validationQuery=”select 1″/>

<Resource name=”UserTransaction” auth=”Container” type=”javax.transaction.UserTransaction”

factory=”org.objectweb.jotm.UserTransactionFactory” jotm.timeout=”60″/>

<Manager pathname=”"/>

</Context>

</Host>

</Engine>

</Service>

</Server>

注意:我们删除了原文件中的

minEvictableIdleTimeMillis  与 timeBetweenEvictionRunsMillis

修改 atlassian-jira/WEB-INF/classes/entityengine.xml

field-type-name 改成 mysql

删除 schema-name=”PUBLIC”

重新启动jira服务。

再多修改一下, 为以后与confluence整合做好准备。

修改 conf/server.xml

把原来的 <Context path=””

改为 <Context path=”/jira”

重启jira服务。 以后再访问jira 就用 http://192.168.0.163:10000/jira

JIRA的安装,汉化及破解

  • Posted on March 8, 2010 at 4:23 pm

服务器IP: 192.168.0.163

jira 主要用于帮助项目团队跟踪网站开发中存在的问题,管理和记录这些问题的处理过程。Bug管理的功能与bugzilla类似,界面要更美观一些,而且是商业软件。

除了bug管理,它还可以用来管理开发/测试计划,测试用例,需求等。

atlassian-jira-enterprise-4.0.2-windows-installer.exe

英文版安装文档:

http://confluence.atlassian.com/display/JIRA/JIRA+Installation+and+Upgrade+Guide

如果是用windows-installer.exe安装的话,则不必安装java.

双击exe文件开始安装。 安装为服务。 端口我们使用 10000和 10001

安装完成后,jira服务会自动启动。

然后用IE 打开 http://192.168.0.163:10000 看一下是否正常。先不要进行配置。

破解:

停止jira服务.

jirapatcher.jar:破解包,下载位置:

http://www.namipan.com/d/jirapatcher.jar/0c3a7f0f740858300299be82b07c00c017e0d740c7160000

把jirapatcher.jar拷贝至,安装目录\atlassian-jira\WEB-INF\lib\下

命令行至刚才的目录,运行命令”java -jar jirapatcher.jar”

如果你没有安装过java,那么在 jira安装目录\jre\bin  里面有一个java.exe 可以用。

jar-1

汉化:

language_zh_CN.jar:汉化包,下载位置:

http://www.namipan.com/d/language_zh_CN.jar/830ef3644e1c3c413be5674eade4002192dd24f041f10200

把language_zh_CN.jar拷贝至安装目录\atlassian-jira\WEB-INF\lib\下,由于目录下有同名文件,出于安全,应该先备份一下老的文件。

jirapatcher.jar来源于CSDN;language_zh_CN.jar来源于方外(JIRA在中国的代理商)

打开 http://192.168.0.163:10000/ 进行必要的配置,

最下面的许可,填写JIRA

不区分大小写。

OK了。

Top