设为首页 收藏本站
查看: 888|回复: 0

[经验分享] jenkins远程构建Android的过程

[复制链接]

尚未签到

发表于 2018-9-4 10:06:05 | 显示全部楼层 |阅读模式
  由于企业的需求,需要做一个网站开分享每个版本的Android的app,所以需要使用的工具如下:
  Jenkins平台,远程编译环境服务器一台,web服务器一台,根据自己的选择,可以搭配自己的资源,废话少说,直奔主题

  •   Jenkins的操作
      在Jenkins中添加一个节点,设置好远程的工作目录,创建好服务器的标签,然后创建好相关的环境键值对,比如Android_home,Java_home,Gradle_home等,这些都是比较平常的操作,这里就不罗嗦了,值得注意的有两点:第一,java的路径问题,由于Jenkins的主机配置从节点,需要找特点的Java路径,有时,类似/usr/java/jdk这样自动编译好的路径,及时配置在系统路径下,也不一定能识别,这个需要注意一下,处理方法很简单,软连接就OK了;第二,就是git的问题,如果软件的管理是使用git的方法,注意你远程节点git的版本,如果比较老旧,那就要下载编译比较新的版本,依然注意系统的路径,git-core是重点,如果找不到它,你想用git-remote-https的方式去pull远程的git仓库,那注定是失败,哈哈,网上找找相关文章,好好查阅一下吧
  •   远程编译服务器上的操作
      下面说重点的东西,就是远程编译服务器上的相关设置,也是本博客的重点
      使用的环境如下:
      系统:Centos6.5
      工具: zlib.i686、glibc.i686、jdk-7u79-linux-x64+(根据自己项目调整版本)、android-sdk_r23.3.4-linux 、Gradle2.4+ (Android-studio)
  由于比较仓促,我使用root操作的,当然创建一个普通用户比较好,就是特别注意目录的操作权限问题。
  由于我已经在一个可以***的服务器上更新了sdk,这个时间你可以出去旅个游,然后回来也差不多了,更新的方法在我另一个博客里面,(下载更新地址    http://mirrors.opencas.cn/android/repository/)
  1.Java环境的下载
  2.Android环境的下载
  3.Android-studio的下载(项目的引导编译工具gradle在里面)
  把上述的这些写入系统变量,简单一下,如果是普通用户,则在家目录的环境配置文件中写入,我的配置如下:
  JAVA_HOME=/usr/java/jdk1.7
  JRE_HOME=$JAVA_HOME/jre
  ANDROID_HOME=/usr/local/Android/Sdk
  PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:/usr/local/android-studio/gradle/gradle-2.4/bin:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
  CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

  export JAVA_HOME JRE_HOME PATH>  由于android编译需要32位C编译包,所以 zlib.i686、glibc.i686在centos上是必备软件
  yum install zlib.i686 glibc.i686  -y,请下载安装
  更新的过程比较繁杂,请耐心等待吧
  然后是Jenkins里面的项目配置了,创建一个新的项目,使用标签,即刚才创建的从节点,一切已经配置完成
  选择git的项目地址,添加用户名密码认证,选择分支
  我这里构建的是shell的poll scm(轮询),每个小时一次
  构建也是使用shell操作,我的配置如下:
  cd /home/data/Android/workspace/iWu-Android_check_ticket
  rm -rf app/build/output
  export JAVA_HOME=/usr/java/jdk1.7/
  export ANDROID_HOME=/usr/local/Android/Sdk
  /usr/local/android-studio/gradle/gradle-2.4/bin/gradle -PbuildNum=B${BUILD_NUMBER} assembleRelease
  增加构建后操作
  选定你的web服务器,然后要传输的文件
  app/build/outputs/*.html,app/build/outputs/lint-results_files/*,app/build/outputs/apk/*.apk
  放在指定的目录,注意远程文件放置的配置,我这里是
  iwu_android_check_ticket/build_${BUILD_NUMBER}(Jenkins里面有很多的变量很好用,自行研究)
  执行的操作如下:
  cd /data/repository/iwu_android_check_ticket/build_${BUILD_NUMBER}
  mv app/build/outputs/* .
  rm -rf app
  这样每次编译好放置的文件目录不会存放任何文件,避免目录容量逐渐变大
  3.web服务器的操作
  到这里就比较好办了,随便来一台web服务器,配置一下项目放置的路径,注意web里面的一些权限


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-562339-1-1.html 上篇帖子: 用yum来安装jenkins 下篇帖子: Jenkins构建远程maven项目
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表