安装 Jenkins
下载Jenkins 最新版本: https://www.jenkins.io/download/
jenkins项目有两条发布线,分别是LTS长期支持版(或稳定版)和每周更新版(最新版)。建议选择LTS长期支持版,下载通用java项目war包;
另外需要安装 jdk ,这里不赘述;
在dos命令行运行命令解压war包:java -jar jenkins.war (默认情况下端口是8080,如果要使用其他端口启动,可以通过命令行”java –jar Jenkins.war --httpPort=80”的方式修改);
运行指令中可以看到会输出密码,记住留待后用,或者在具体文件路径中找到:
之后在浏览器中访问 http://localhost:8080 (如果你没特殊指定端口的话)可以看到解锁界面,输入之前的密码吧
进入后就是插件安装了,根据自己需要选择,补充一点就是 会有一些插件安装失败,是因为这些插件的安装是有前置条件的,等安装结束后,按右下角“重试”,继续安装,之前失败的插件就都能安装了;
插件安装完成后就进入到创建管理员账号的步骤了, 这不用人教都会吧; 保存并完成账号信息后实例配置Jenkins 吧:
保存完成后就开始 Jenkins 之旅吧
工作空间
新建任务,拉取 git 远端Android 代码到本地并且打包,选择文件夹:
之后在主页看到之前创建的文件夹了:
进入创建新的 item : git_subject
接下来配置 源码管理中的 url 以及分支等,认证部分只选择针对当前文件夹范围的证书,填写相关仓库所有者的用户名和密码,
credentials 选择之前添加的认证信息:
设置好相关属性并且保存好之后,点击立即构建按钮,等待运行结束,查看 console outputs 输出成功后,打开工作空间,查看相关源码是否已从 git 拉取。
拓展
以上代码是从 master 分支拉取的,随着功能的开发,功能分支也将增多,那么多余需要切换其他分支代码怎么办呢,总不能每次去修改任务配置中的 branch specifier 吧;
返回Jenkins 主页,添加 git 参数 插件: 系统设置-> 插件管理->available filter -> git parameter:
插件安装好之后呢,重新回到任务,打开配置界面,找到并且勾选参数化构建过程,选择 git parameter:
最后在源码管理的指定分支部分将分支改成 $ + git参数名称:
保存之后发现旁边的 Build Now 已经变成了 Build with Parameters:
查看具体详情,可以发现这里的 branch 会列出该仓库所有的分支,选择我们需要的分支,点击开始构建 按钮就可以拉取特定分支的代码了;
其他的参数就自己实验吧。
配置
暂无特殊配制
构建
echo %cd%
echo --------start clean project---------------
git reset --hard HEAD
git clean -f
echo --------start git pull--------------------
git pull
cd app
echo --------start gradle clean--------------------
C:\Users\Administrator\.gradle\wrapper\dists\gradle-4.8.1-bin\e8p42vx1m7a3mz9ydmjagn6wn\gradle-4.8.1\bin\gradle clean
echo %cd%
echo --------start gradle release build--------------------
C:\Users\Administrator\.gradle\wrapper\dists\gradle-4.8.1-bin\e8p42vx1m7a3mz9ydmjagn6wn\gradle-4.8.1\bin\gradle assembleRelease
echo --------end gradle release build--------------------
echo --------clean desktop android-apk directory--------------------
rd C:\Users\Administrator\Desktop\android-apk\ /S /Q
rd C:\Users\Administrator\Desktop\android-apk-zhuzhan\ /S /Q
for /f "tokens=2 delims= " %%i in ('findstr /c:" versionName " D:\code\android_app\app\build.gradle') do (set versionStr=%%i)
set versionStr=%versionStr:~1,-1%
echo %versionStr%
echo --------copy all apk to desktop android-apk directory:C:\Users\Administrator\Desktop\android-apk\ --------------------
xcopy D:\code\android_app\app\build\outputs\apk\**.apk C:\Users\Administrator\Desktop\android-apk\v%versionStr%-for-jenkinse\ /D /Y /e