Tag Archives: CentOS

Jira的安装过程中可能会遇到的一些小坑

项目与事务跟踪工具有很多,有收费,有开源系统。但要找一个适合团队使用的系统,并不容易。

团队内部从之前的禅道到现在用的轻量级别在线管理工具Tower,

发现各有各的优点与短板,不同的人看法不一样。

在这过程中,一位同事建议用一下Jira 这款项目与事务跟踪工具,

JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。
JIRA中配置灵活、功能全面、部署简单、扩展丰富,其超过150项特性得到了全球115个国家超过19,000家客户的认可。

为了完成体验一下这款工具,昨天参考这篇非常详细文章《烂泥:jira7.2安装、中文及破解》用时不到2小时完成安装。

具体的安装流程,我就不再描述,因为上面文章写的是很良心的一篇安装,汉化,破解的教程。

主要说一下在这安装过程中,可能因为每个人不同环境,在操作的过程中,会产生的各别不一样的差异(坑)。

第一:CentOS 7以上8080端口开放问题

当我们安装完成后Jira后,8080端口在我的服务器CentOS Linux release 7.2.1511 (Core) 并没有开放,导致输入:
http://xxx.xx.xxx.xxx:8080 你会发现并不能顺利地访问到Jira配置界面,可开放此端口来解决这问题。
解决办法:/sbin/iptables -I INPUT -p tcp –dport 8080 -j ACCEPT

 

第二:MySQL 版本与MySQL配置问题

上面教程并没的提及他自己的MySQL版本是多少,提供的Java连接MySQL数据库 mysql-connector-java 有可能因为我们本身安装的版本不一样,出现问题。

比如在配置Jira连接数据库的时候,因mysql-connector-java问题,会出现如下提示:

Error Connecting  to database    Unknown system variable ‘storage_engine’

 

出现上面这问题,主要无非是二种可能:

1: 数据库部分配置参数问题,可参考Jira连接数据文档说明。

解决方法:配置调整与解决办法可参考:Connecting JIRA applications to MySQL

 

2:Mysql 数据库版本5.7与上面教程给的mysql-connector-java不兼容,导致Jira无法识别MySQL的引擎。

解决方法:可以先参考这篇文章:http://www.cfanz.cn/index.php?c=article&a=read&id=316535,然后再去:https://github.com/yurii-github/mysql-connector-j 下载驱动:

这样就可以解决MySQl 5.7 驱动包可用的问题了,

在OOPHP博客也可下载:mysql-connector-java-5.1.39-SNAPSHOT-bin.jar

 

第三:关于Jira启动与关闭

如里参考上面文章进行安装的Jira,安装的目录应该是在系统目录:/opt/atlassian/jira/ 下,在些目录下:/opt/atlassian/jira/bin/*.sh有守护,启动,关闭,重启等脚本。

其实,解决上面几个问题,到这里已基本完成Jira的安装,配置,汉化,破解等工作。

最后上一张已安装完成后,体验图:

 

如何在Linux上配置自动打包并签名APK的环境

我们在开发Android APP的过程中,总会有一步,就是在完成开发后,会涉及到APP的打包与签名。一般情况下,打单个包的时候,时间上不会要很久。开发人员在开发环境下,就能直接打包并对包进行签名。
然后,当我们的APP需要做推广与合作时,我们就要分不同的渠道给到推广或合作方。这种情况下,会就遇到,经常需要打不同渠道号的包。这在10个包之内,开发人员手动打还可以接受。一旦出现100个渠道以上,开发人员就直接崩溃了。这手动打起一,保守估计要一天以上。渠道还不能出错。
要解决这个办法,就是批量打包了。 在Windows环境下打包,网上已经有很多了。像是还有批量打包的工具。这里就不再进行讨论。
现在我们直接说怎么在CentOS下配置这个批量打包并签名的环境,来进行批量打包。
在开始之前,最好有一些关于下面几个名词的了解,会更有助于我们理解这篇文章。什么是SDK, aapt, PATH。
目前,实行的思路如下:
a.先把线上主渠道号的包进行反编译。
b.修改APK的AndroidManifest.xml配置文件的渠道号(我们是放在配置文件内,不知道其他公司是否一样)
c.然后进行APK的打包并实现签名,新的渠道包就算完成。
现在先进行环境的安装:
1.安装aapt和apktool命令以及apktool.jar。
安装步骤直接参考:http://code.google.com/p/android-apktool/
在Linux环境下的安装步骤如下:
  1. Download apktool-install-linux-* file
  2. Download apktool-* file
  3. Unpack both to /usr/local/bin directory (you must have root permissions)
在这一步一定要注意【aapt command in a PATH】,就是说aapt命令要加入环境变量(PATH)。具体如何把aapt命令,加入环境变量(PATH)里。
#vi /etc/profile
编辑此文件在最后加上:
export PATH=$PATH:/usr/local/aapt:/usr/local/apktool
让刚加上的变量,立刻生效,直接执行:
#source /etc/profile
查看是否已生效,直接:
# echo $PATH
应该能看到如下图片:
2.安装 JRE 1.6 (Java Runtime Environment) JDK 的环境。
关于如何安装JDK以及Apktool的使用方法,请参考本博客另一篇文章,都有提到。在这里我就不再重复写了。
按上面二步操作完成以后,就可以进行反编译,修改AndroidManifest.xml配置的渠道,最后再打包签名了。
在进行打包的过程可能会遇到几个问题,以及对应的解决方法:
a.出错~~
I: Smaling...
I: Building resources...
aapt: /lib/libz.so.1: no version information available (required by aapt)
I: Copying libs...
I: Building apk file...
aapt: /lib/libz.so.1: no version information available (required by aapt)
这个在打包与签名的时候会提示,说明libz的版本与aapt不兼容。需要进行libz的版本升级。
这里要注意的重点是,如果我们的机器是64位的,因为Android都是基于32开发的,它依赖的是32位的libz。所以在升级的时候,需要特殊的操作。如下:
wget http://124.202.164.4/download/36593658/49562183/3/gz/12/28/1359618838796_796/zlib-1.2.7.tar.gz
tar zxvf zlib-1.2.7.tar.gz
cd zlib-1.2.7
export CFLAGS=-m32  【注意这里,这才是重点】
./configure --prefix=/usr/local/zlib-1.2.7-32
make && make install
ll /lib/libz.so.1
mv /lib/libz.so.1 /lib/libz.so.1_backup
ln -s /usr/local/zlib-1.2.7-32/lib/libz.so.1 /lib/libz.so.1
如果出现此问题,说明你java环境没有安装好,请仔细查看:
/usr/local/bin/apktool: line 78: exec: java: not found
反编译命令:
/usr/local/bin/apktool  d -f /mnt/html/shell/package/mumayi/mumayi.apk /mnt/html/shell/package/mumayi/cache/mumayipackage
打包命令:
/usr/local/bin/apktool b -f /mnt/html/shell/package/mumayi/cache/mumayipackage /mnt/html/shell/package/mumayi/apk/mumayipackage_mumayi.apk
 参考文章与资料: