个人博客地址:https://blog.yookingh.cn
该文章地址:https://blog.yookingh.cn/dev/200928-Jenkins.html
硬件:联想 拯救者 Y7000p
系统:Windows 10 64位 专业版
配置:
- Jdk 1.8.0_251
- Jenkins 2.253
安装
官方FTP下载地址:http://ftp-chi.osuosl.org/pub/jenkins/windows/
官网:https://www.jenkins.io/
- 下载
安装
双击.msi文件执行即可(C盘可能会有权限问题,所以尽量放在非C盘)
安装完成后根据配置的端口打开对应的网页:http://localhost:8080/
根据提示的文件路径输入密码、安装插件、配置用户——提示十分清晰,这里不一一介绍了。-
启动服务
win+R 打开cmd窗口#请根据自己电脑的路径来跳转 cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319 #安装服务 installUtil D:\Jeenkins\jenkins.exe
win+R 打开
services.msc
服务控制台,启动Jenkins
服务可自行配置bat文件启动服务
#Service-Start.bat net start Jenkins #Service-Stop.bat net stop Jenkins
为bat创建快捷方式,对快捷方式右击-属性-高级-以管理员方式运行
配置
-
配置主目录(配置页路径:http://localhost:8080/configure)
我们可以点开问号看看提示:
Jenkins储存所有的数据文件在这个目录下. 你可以通过以下几种方式更改: 使用你Web容器的管理工具设置JENKINS_HOME环境参数. 在启动Web容器之前设置JENKINS_HOME环境变量. (不推荐)更改Jenkins.war(或者在展开的Web容器)内的web.xml配置文件. 这个值在Jenkins运行时是不能更改的. 其通常用来确保你的配置是否生效.
这里我就很想看看英文版的了...Web容器的管理工具究竟是什么?我尝试着改了系统的环境变量,甚至重启了系统,结果显然是失败了。于是我使用了
不推荐方式解决(以下只展示修改的部分)<service> ... <!-- <env name="JENKINS_HOME" value="%LocalAppData%\Jenkins.jenkins"/>--> <env name="JENKINS_HOME" value="Jenkins.jenkins"/> ... <extensions> <extension ...> <!-- <pidfile>%LocalAppData%\Jenkinsjenkins.pid</pidfile> --> <pidfile>D:\Jeenkins\Jenkinsjenkins.pid</pidfile> ... </extension> </extensions> </service>
-
配置键值对
以下默认会自动下载到C盘,这里全配在D盘:是规避权限问题,
是为了防止C盘空间臃肿
在
页面(/configure)-全局属性-Environment variables
中进行配置{ "ANDROID_HOME":"D:\AndroidSDK", "ANDROID_NDK_HOME":"D:\AndroidSDK\ndk\21.3.6528147", "GRADLE_USER_HOME":"D:\AndroidTools\gradle_home", "LANG":"zh.CH.UTF-8" }
提示:AndroidSdk、Ndk、gradle均可与Android Studio配置相同路径
-
配置git工具(配置页路径http://localhost:8080/configureTools)
{ "name":"git", "Path to Git executable":"D:\Git\bin\git.exe" }
ps:在当前页面还可以配置好gradle备用
项目
创建项目
新建Item-输入任务名-选择Frestyle Project即可-点击保存(请根据自身需求设定)
配置(仅供参考)
-
配置用户可输入/选择参数(This project is parameterized)
- git分支选择(使用到git parameter插件)
{ "名称":"Git",//建议英文且无特殊字符 后续调用使用 '$' 符号 "描述":"打包分支选择器", "参数类型":"分支或标签", "默认值":"origin/master" }
- 单选(choice parameter)
{ "名称":"productFlavors",//选择开发阶段 建议英文且无特殊字符 后续调用使用 '$' 符号 "选项":"dev",//备用选项,每行一个。第一行的将作为默认选项。 "选项":"rp", "选项":"prod", "描述":"dev-测试,rp-准生产,prod-生产" }
{ "名称":"buildTypes",//选择打包版本 建议英文且无特殊字符 后续调用使用 '$' 符号 "选项":"release",//备用选项,每行一个。第一行的将作为默认选项。 "选项":"debug", "描述":"release-签名包,debug-测试包" }
- 文本框(string parameter)
{ "名称":"apkName",//apk包名 建议英文且无特殊字符 后续调用使用 '$' 符号 "默认值":"com_yooking_app", "描述":"请输入生成的安装包包名" //勾选去除空白字符 }
PS:如果打包完成后需要上传到服务器,可以配置可选服务器子路径、可选是否上传至服务器等,根据需求灵活应用
-
源码管理(这里使用git)
如果没有配置git账户,可先新增Git账户,然后再选择即可。
指定分支填
$Git
——注意:值与配置用户可输入/选择参数一致
-
构建环境
勾选Set Build Name,
Build Name
值为$apkName
-
构建
- 项目构建前需要先将准备好的key文件放入对应目录,这里可以使用.bat文件
增加构建步骤-选择Execute Winddows batch command
调用自己的bat文件:call D:\Jeenkins\yooking\invokeBefort.bat
- 增加构建步骤-选择
Invoke Gradle script
-推荐Use Gradle Wrapper
clean项目后重新编译打包:{"Task":"clean assemble${productFlavors}${buildTypes}"}
ps:task中可跟随--info
等命令 - 项目构建完毕后,如果有其他操作要执行,可以继续使用.bat文件操作
- 项目构建前需要先将准备好的key文件放入对应目录,这里可以使用.bat文件
-
构建后操作
- 如果有上传FTP/发送邮件等操作,可在此处执行
最后点击保存即可。