CI实践_Android持续集成

之前已经实现了Android的持续集成,并在项目中应用了一段时间。恰逢现在有几分钟时间,把之前的一些零散的点滴记录和整理一下,供有需要的朋友参考,或后续复用。

需要的准备知识:gitlab、Jenkins、各种plugins、shell等;

另外,推荐一个seafiles,相当于云存储网盘,大家可以把构建的apk包,发送至,供团队内部使用;

当然,你也可以采用ftp为team共享也可以。

 

一.总体的全局配置:

配置相关plugin,如果需要进行代码检测的话,也需要安装Sonar,部分配置如下:

Sonar installations:

Name :sonar

Server URL:http://192.168.0.100:9000/

Sonar account login:admin

Sonar account password:*****

Database URL:jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true

Database login:root

Database password:****

 

邮件通知
     SMTP服务器        smtp.exmail.qq.com        
     用户默认邮件后缀    @aituyou.com

 

二.单个Project中的配置:

触发构建器:

Build after other projects are built

Projects to watch:TSD-Common

 

源码管理:

Git Repositories: http://121.201.13.32:9000/xiaobao/tsd-navigation.git

 

Build periodically:日程表

# H 9-17/2 * * 1-5

Pull SCM:

# H 9-16/2 * * 1-5

Command Shell:

复制代码
echo `pwd`
echo "buld start time:`date`"
echo '******************* Start build *************************'
##cd /var/lib/jenkins/;./env.sh
cd /var/lib/jenkins/jobs/TSD-Nav/workspace/
#### dos2unix files
dos2unix `find . -name "*.java"` 

/opt/Android/adt-bundle-linux-x86_64-20140624/sdk/tools/android update project -t 3 -p . -n TSD-Nav
sed -i '$d' project.properties
sed -i '$d' project.properties
sed -i '$a target=android-19' project.properties
sed -i '$a android.library.reference.1=../../TSD-Common/workspace/' project.properties
#sed -i '$a android.library.reference.1=../../TSD-Thirdparty/workspace/qiniu-sdk/' project.properties

# change key
sed -i 's/r1Em7hxaGvUmbu3Te5Mne508/0TC6r2T1uTX9xgdUSyQuV5Lo/g' /var/lib/jenkins/jobs/TSD-Nav/workspace/AndroidManifest.xml

/opt/ANT/apache-ant-1.9.4/bin/ant clean
/opt/ANT/apache-ant-1.9.4/bin/ant debug
/opt/ANT/apache-ant-1.9.4/bin/ant release

# signer
#jarsigner -verbose -keystore /home/tuyou/HAO/TuYouDemoKeyStore -signedjar /var/lib/jenkins/jobs/TSD-Nav/workspace/bin/TSD-Nav-release-signed.apk /var/lib/jenkins/jobs/TSD-Nav/workspace/bin/TSD-Nav-release-unsigned.apk 'tuxiaobao' -storepass 'tuxiaobao'
jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore /home/tuyou/HAO/tuyou_android.keystore -signedjar /var/lib/jenkins/jobs/TSD-Nav/workspace/bin/TSD-Nav-release-signed.apk /var/lib/jenkins/jobs/TSD-Nav/workspace/bin/TSD-Nav-release-unsigned.apk tuyou_android.keystore -storepass 'tuxiaobao'

# get version number
#HAO = `cat AndroidManifest.xml | grep versionName= | awk -F "=" '{print $2}' |awk -F "\"" '{print $2}'`
#echo ${HAO}
#cd /var/lib/jenkins/jobs/TSD-Nav/workspace/bin
#mv TSD-Nav-debug.apk TSD-Nav-+${HAO}.apk
#ls -la
#cd /var/lib/jenkins/jobs/TSD-Nav/workspace/

#get date
# date -d now +%Y%m%d%H%M%S


cd /var/lib/jenkins/jobs/TSD-Nav/workspace/bin
#mv TSD-Nav-debug.apk TSD-Nav-`cat /var/lib/jenkins/jobs/TSD-Nav/workspace/AndroidManifest.xml | grep versionName= | awk -F "=" '{print $2}' |awk -F "\"" '{print $2}'`.apk
mv TSD-Nav-release-signed.apk TSD-Nav-Release-`cat /var/lib/jenkins/jobs/TSD-Nav/workspace/AndroidManifest.xml | grep versionName= | awk -F "=" '{print $2}' |awk -F "\"" '{print $2}'`-`date -d now +%Y%m%d%H%M%S`.apk
cd /var/lib/jenkins/jobs/TSD-Nav/workspace/


#FTP directory :/var/ftp/anonymous/upload
cp /var/lib/jenkins/jobs/TSD-Nav/workspace/bin/TSD-Nav-Re*.apk /var/ftp/anonymous/upload/tsd-app-Release/Nav/

#copy to seafiles
cp /var/lib/jenkins/jobs/TSD-Nav/workspace/bin/TSD-Nav-Re*.apk /home/tuyou/Seafile/Seafile/发布/AutoBuild
echo '******************* Finish build *************************'
echo "buld end time:`date`"
复制代码

 

其实没有过多解释,如果需要了解细节的朋友,可以联系我。



本文转自 念槐聚 博客园博客,原文链接:http://www.cnblogs.com/haochuang/p/4766491.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/572571

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。