Quantcast
Channel: CSDN博客移动开发推荐文章
Viewing all articles
Browse latest Browse all 5930

jeckins+(svn,svn)+gradle+android studio

$
0
0

前言

Ci系统的引入,给我们广大程序猿带来福音

环境:

 jenkins.2.6.0.3
 Android studio 2.3.3
 Gradle 3.3
 Jdk 1.8
 Git /svn 最新版
 Window 7 64bit

1.配置jeckins

Jenkins 官网下载地址入口

这里写图片描述

选择对应平台(为什么没选择最新版本,测试新版有些配置问题未能解决。退而求其次了)

这里写图片描述

下面步骤跟着引导就可以走完。直到自动打开

注意:安装方式选择推荐安装,这样省去自己找插件的麻烦

这里写图片描述

下面步骤跟着引导就可以走完。直到自动打开

注意:安装方式选择推荐安装,这样省去自己找插件的麻烦

设置jenkins环境

这里写图片描述

进入设置界面,因为这里介绍gradle 方式构建,对于maven 和 ant 构建方式请自行学习

这里写图片描述

这里写图片描述

点击保存。Jenkins 环境配置完毕接着进入jenkins 首页

建立项目

这里写图片描述

点击ok进行Job设置界面,设置构建脚本,构建资源,构建一系列参数,需要根据具体需求进行配置。

配置jenkins构建参数

这里有6个小tab对应构建的不同过程
这里写图片描述

.首先源码管理这里git,svn 两种

这里选择github上源码进行测试。地址:https://github.com/yatou252303/Nydialog.git
这里写图片描述

接下来填写构建触发器,如果使用默认则需要手动触发构建。如果根据jenkins 定义触发规则,则可以方便进行自动化构建。

注意:点击后面问号,会有较为详细的介绍针对。不同的选项。

构建环境

使用默认配置

构建

这里写图片描述

选择在系统配置gradle 别名, 写构建脚本,这里为了简单,只有一个 build命令。

这里写图片描述

配置执行构建文件

${WORKSPACE}/app/build.gradle
Force GRADLE_USER_HOME to use workspace 勾选

简单Gradle 构建脚本 链接进入

构建完成了,还可以做一些额外的工作,比如发布到具体站点,或者内测平台,这里以蒲公英发布平台为例。(需要注册账户)

打包后上传蒲公英

实现思路:
通过shell脚本调用蒲公英api上传
1. 新建shell脚本
比如:uploadApk.sh,存放在app/build.gradle同级目录

#!/bin/sh#MAIN_MODULE指AndroidStudio工程目录下面主module#打包用地址
MAIN_MODULE="."#单独测试用地址#MAIN_MODULE="./app" #蒲公英API账号
PGYER_USER_KEY="登录你的蒲公英账号查看[https://www.pgyer.com/doc/api#uploadApp]"
PGYER_API_KEY="登录你的蒲公英账号查看[https://www.pgyer.com/doc/api#uploadApp]"#APK路径
APK_PATH="${MAIN_MODULE}/build/outputs/apk"
echo "=============================================="#echo "current path: `pwd`"#echo "APK_PATH=${APK_PATH}"

APK_LIST=`ls -t ${APK_PATH}`#echo "${APK_LIST}"#查找 最新的apk包for APK_FILE in ${APK_LIST}; do
    APK_NAME=${APK_FILE}
    #echo "$APK_FILE"
    break;doneif [ -n "$APK_NAME" ]; then # 判断是否为空

    echo "上传 $APK_FILE 到蒲公英"
    #上传至蒲公英 updateDescription(版本描述)
    RESULT=$(curl -F "file=@${APK_PATH}/${APK_NAME}" -F "uKey=${PGYER_USER_KEY}" -F "_api_key=${PGYER_API_KEY}" http://www.pgyer.com/apiv1/app/upload)
    echo "蒲公英返回 $RESULT"

    # 发邮件
    echo "${RESULT}" | mail -s "${APK_NAME}已更新到蒲公英" you_mail@qq.com
fi

配置执行脚本触发器

这里写图片描述

注意:一定要选择window batch Command,否则无法上传到蒲公英。

构建后操作

选择默认,当然可以配置邮箱地址,构建成功后会发送邮件,经测试这个的发送邮件功能不能使用。

好了上面完成,从jenkins的下载,安装,到配置git资源库,配置构建脚本。剩下的就是执行构架命令。强烈推荐,先在android studio 命令行窗口中执行build命令,排除下错误。然后再jenkins中构建。一般来说在android studio中能build成功的在jenkins中也没有问题

追加:上面介绍了git的,顺嘴说下svn的配置。不同的地方就是svn需要认证,也就是账户密码的。
上面介绍了git的,顺嘴说下svn的配置。不同的地方就是svn需要认证,也就是账户密码的。

这里写图片描述

点击 add,弹出验证账户密码的框。验证通过,回到这个界面在Credentials 选项卡中可以进行选择。

Jenkins有个好处,输入错误的账户密码会报红提示。

好了,说了一大串,不知道能看明白多少?有疑问欢迎留言提问。

效果:

这里写图片描述

这里写图片描述

自动发布到蒲公英上的。

扩展

对shell 脚本进行扩展

runoob http://www.runoob.com/linux/linux-command-manual.html

上面网站介绍一些语法

调试的话,这里使用gitbash进行调试
这里写图片描述

weichyang@weichyang-PC MINGW64 /f/jenkins.2.6.0.3/workspace/updateshell
$ ./updatedemo.sh ../nuoyuan_2.6.4/app/build/outputs/apk
bash: ./updatedemo.sh: No such file or directory

weichyang@weichyang-PC MINGW64 /f/jenkins.2.6.0.3/workspace/updateshell
$  ./needparameter.sh ../nyDialog/app/build/outputs/apk
==============================================
APK_PATH=../nyDialog/app/build/outputs/apk
app-release-unsigned.apk
app-debug.apk
app-release.apk
上传 app-release.apk 到蒲公英
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
 94 9377k    0     0   94 8896k      0   623k  0:00:15  0:00:14  0:00:01  618k
curl: (56) Recv failure: Connection was reset
蒲公英返回
./needparameter.sh: line 35: mail: command not found
./needparameter.sh: line 37: mail: command not found

weichyang@weichyang-PC MINGW64 /f/jenkins.2.6.0.3/workspace/updateshell
$ ^C

weichyang@weichyang-PC MINGW64 /f/jenkins.2.6.0.3/workspace/updateshell

引用
1.gradle 脚本配置 http://blog.csdn.net/yanbober/article/details/49314255
2.build.gradle 脚本配置 http://blog.csdn.net/lxmy2012/article/details/76299166
3.jenkins 配置脚本 http://blog.csdn.net/gao_chun/article/details/48218545

作者:o279642707 发表于2017/9/14 18:28:52 原文链接
阅读:18 评论:0 查看评论

Viewing all articles
Browse latest Browse all 5930

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>