创建一个android 项目 不需要有代码(为啥不直接用线上代码呢。。拉代码费劲!)
关联git仓库 并记录下来这个git地址 下文有用到
下载
https://jenkins.io/zh/download/
下载windows 版本 安装
选第一个安装推荐插件
完了以后到创建用户:
这个用户名密码 记得 这个是登录帐号和密码
登录后
Jenkins默认的地址是:http://localhost:8080
本配置
安装好以后,我们就来进行基本环境的一些配置,主要是jdk,android sdk,gradle,git。
我们依次点击红线进入配置,首先是系统设置:
按照上图配置,键必须是ANDROID_HOME,不可以是其他字母,下面的值就是你本机的android sdk目录,一定要注意这里的权限问题,否则后面构建的时候没有权限的话会提示找不到sdk路径,还有一种方案,就是所有需要的这些环境,不要用系统下的目录,而是自己去新建目录,然后去存放这些文件,这样就避免了权限的问题,而且如果是公司的服务器,一般都是Linux,这些目录都是需要去单独下载和配置环境变量的,本文就偷懒使用了系统安装的默认目录。 不知道的话可以看自己有没有配置sdk位置
jdk环境变量下我相信都有吧
git的name是可以乱写的
安装路径怎么找呢
where git 命令可以帮你找到
关于这个Gradle 其实最好不要用本地的 。。会出错
我项目里面的
G:\android\hkwork\JenkinsTest\gradle\wrapper\gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
name 最好是我那么写。。因为后面要配置用到
说道build gradle 这就不得不提及一个可能后面会有的bug了 先贴出来
已解决】Execution failed for task ':app:lint'
这三个设置完了以后就能进行下一步啦
新建一个项目 android_jenkins_demo 然后选择freeSyle 然后确定
配置他
git使用http的代码 别用ssh的 容易出错
下面这个密码
点击添加 弄到如此页面
UserName我用的是账号用户名
然后privateKey就是
C:\Users\userName\.ssh\id_rsa
下的内容
编辑打开全部复制过来然后点击添加
前提是你这台电脑与你自己的git 已经绑定了 不会绑定的话。。。不太行哦
先应用后保存 现在已经可以拉代码了
点击buildNow 不一会儿 工作空间就有东西了
如果你的网速足够慢。代码足够多 那么十分钟 是拉不下来的
那么就会遇到这个bug 我也弄好了解决方案
这个的工作目录在你jenkins安装目录里面
H:\jenkins\install\workspace
可以看到android_jenkins_demo 和android_jenkins_demo@tmp
想必就是这事他真正的工作地址
下一步 编译这个app
点击上图的配置
选择刚才弄的gardle 以及命令行
build --stacktrace
最后那个是工作目录 如果你的代码主(项目级别的!非modele级别的!)build.gradle在更深层。。如果在H:\jenkins\install\workspace\android_jenkins_demo\a\build.gradle
那么此刻你应该是使用
${workspace}/a/
的目录
应用保存后 再一次的build now 没有bug就可以拉
有bug 根绝自己的android知识解决bug 也就可以拉
点击你去可以看日志 编辑成功的就是蓝色 球 不成功就是红色球 具体失败的有具体信息
我想你知道应该去哪里去找到他
看时间3:08 是我们想要的么 到底对不对呢
看我们最近一次成功和那个安装包的时间对不上。
调试模式构建并打印堆栈日志
./gradlew build --info --debug --stacktrace
看下其他的命令
查看所有任务 包括缓存任务等
gradlew tasks --all 查看所有任务
清除build文件夹
./gradlew clean
编译并安装debug包
./gradlew installDebug
调试模式构建并打印堆栈日志
./gradlew build --info --debug --stacktrace
强制更新最新依赖,清除构建并构建
./gradlew clean build --refresh-dependencies
编译并打Release的包
./gradlew assembleRelease
Release模式打包并安装
./gradlew installRelease
卸载Release模式包
./gradlew uninstallRelease
结合productFlavorsName
./gradlew install[productFlavorsName] app:assembleDebug
Release模式 test 渠道打包
./gradlew assembleTestRelease
依赖查看
./gradlew dependencies
参数
--offline 离线
--daemon 守护进程
--parallel --parallel-threads=N 并行编译
--configure-on-demand 按需编译
so 这个命令应该只是检测 build --stacktrace
不是我们想要的
改
改成 clean
回车
assembleRelease
应用保存 build now
然后哈哈哈哈 三天的努力 迎来了一次成功。。记录下来,为了下次更好的集成
现在就是算是入门了 可以用了 后面也要加些自定义参数什么的 让项目更灵活