6

Jenkins实战应用–最近配置安卓iOS打包本地化流程中一些值得记录的内容 |坐而言不如起...

 3 years ago
source link: http://www.eryajf.net/3514.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
本文预计阅读时间 6 分钟

公司这次的打包平台是测试同学搞的,Jenkins部署在Mac电脑,看到他把包搞到了三方,因此打算一起拉回到本地。

1,NGINX的准备工作

Mac电脑很方便,因此使用docker先来跑两个NGINX虚拟主机:

  1. $ docker run -itd --name erya -v /Users/liqilong/eryajf/docker/nginx/test1:/apk -v /Users/liqilong/eryajf/docker/nginx/test2:/er -v /Users/liqilong/eryajf/docker/nginx/test1/default.conf:/etc/nginx/conf.d/default.conf -p 801:800 -p 802:801 daocloud.io/library/nginx:1.15.9-alpine-perl

其中test1作为apk包的目录,test2作为二维码的目录,用到的default.conf文件如下:

  1. $ cat default.conf
  2. server {
  3. listen 800;
  4. server_name localhost;
  5. charset utf-8;
  6. location / {
  7. root /apk;
  8. autoindex on;
  9. autoindex_exact_size off;
  10. autoindex_localtime on;
  11. }
  12. }
  13. server {
  14. listen 801;
  15. server_name localhost;
  16. charset utf-8;
  17. location / {
  18. root /er;
  19. autoindex on;
  20. autoindex_exact_size off;
  21. autoindex_localtime on;
  22. }
  23. }

启动之后,访问localhost:800即可看到每次的包,访问localhost:801即可看到对应二维码。当然在Jenkins中需要用IP进行访问。

2,安卓项目的配置

安卓的打包,依然需要下载制作二维码的开源程序,基本上这个思路都还比较清晰简单:

image-20191209105458241.png

脚本内容:

  1. mv /Users/zxmren/.jenkins/workspace/test_android/app/build/outputs/apk/release/app-release.apk /Users/zxmren/nginx/apk/wpt-$BUILD_ID.apk
  2. java -jar /Users/zxmren/nginx/jar/qr.jar url=http://192.168.3.3:800/wpt-$BUILD_ID.apk image=wpt-$BUILD_ID.jpg save=/Users/zxmren/nginx/er/

就OK了。

3,iOS的曲折配置之路

现在比较尴尬的是iOS的情况,一开始不了解,依旧按照安卓的思路进行配置,后来发现iOS打出来的ipa包,手机扫了之后并不能直接安装,非常尴尬,因为这个坑,耽误了几个小时,直到后来在GitHub看到了一个开源程序:ios-ipa-server

寻找解决方案的过程中了解到了ipa的包想要安装顺利,需要一个plist的文件进行配置,而开源程序,正是做了这个事情。

这个程序能够让打好的包直接转化成可安装,然后提供二维码用于下载,先在主机安装软件:

  1. npm i -g ios-ipa-server

命令使用方式如下:

  1. ios-ipa-server -i 192.168.3.4 -p 666 /media/ipa/

/media/ipa/下放的是每次打好的ipa包,这个软件优秀的是,后续再放进来的ipa包,也会自动转化成可用的,所以只需要守护进程(这里用的tmux)运行这个程序,然后每次构建的包放到这个目录下就可以了。

这个时候会返回两个二维码,以及两个链接,第一个是ca证书,可以忽略,第二个才是重点:

image-20191209111959045-5861600.png

接下来的操作基本上就差不多了,因为这个二维码URL是固定的,所以可以在Jenkins里边也固定一下,把这个URL打成二维码。

image-20191209112141894.png

同时也可以在项目的说明信息当中添加一下说明,从而易于使用:

image-20191209112221325.png

其中用到的保留五个版本的脚本,这里也记录一下:

  1. cat keep-five.sh
  2. #!/bin/bash
  3. file_path="/media/ipa/"
  4. file_name="*.ipa"
  5. while true
  6. do
  7. A=`ls $file_path/$file_name | wc -l`
  8. B=`ls -lt $file_path/$file_namt | tail -n 1 | awk '{print $9}'`
  9. if [ $A -gt 5 ];then
  10. rm -f $file_path/$B
  11. else
  12. break
  13. fi
  14. done

weinxin


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK