以上就是本篇文章要记录的jerkins自动打包并生成二维码的效果截图!
1.安装jenkins(命令行)
brew install Jenkins
如果提示jenkins: Java 1.8 is required to install this formula.
则还需要配置Java环境
brew tap caskroom/versions
brew cask install java8(brew cask install java则表示最新版本)
安装成功后输入命令行
jenkins (启动)
2.在浏览器输入localhost:8080
3.安装插件
Git
Gradle
这些肯定是必须的,还有一些辅助的可以安装
上图是我安装过程中用到的,如果缺少什么会有提示,按照提示安装就好,一种是在插件管理里面直接安装,还有一种方式是Jenkins插件下载地址下完了本地上传,看网络情况。
因为其他设置或配置都依赖插件才能显示,所以插件安装放在首位。
4.系统设置
Jenkins首页系统管理下有个系统设置,主要需要设置一下环境变量,以及Jenkins URL,如下
5.全局安全设置
我只改了这一处,主要是为了生成二维码能够显示出来,会用到
6.全局工具配置
主要需要设置git和gradle
git目录选择自己电脑下git的目录
gradle选好自己的版本就好
7.项目构建配置
配置完成全局的相关设定后,接下来就是针对项目的了
首先是新建一个job或者new 任务,Jenkins首页左上角第一个菜单项就是,根据需要选择不同的风格,我选的是构建一个自由风格的软件项目
,然后就进入的项目配置的页面了。
git配置如下
gradle配置如下
add build step 执行shell
截图为mac上的方法,Windows可以选执行Windows批处理命令
用python在本地生成二维码,qrcode.py代码如下
import os, sys, ssl
import urllib
workspace = sys.argv[1] #jobs/project/workspace/
buildDir = sys.argv[2] # app/build/outputs/apk/
urlPrefix = sys.argv[3] # http://192.168.1.1:8080/job/project/35/
fileNames = []
absoluteBuildPath = workspace + buildDir
print absoluteBuildPath
for fileName in os.listdir(absoluteBuildPath):
tmpPath = os.path.join(absoluteBuildPath, fileName)
if os.path.isfile(tmpPath) and fileName.endswith(".apk"):
fileNames.append(fileName)
for index, fileName in enumerate(fileNames):
downloadUrl = urlPrefix + 'artifact/' + buildDir + fileName
apiUrl = "https://api.qrserver.com/v1/create-qr-code/? size=150x150&data=" + downloadUrl
print apiUrl
savePath = workspace + 'qrcode/qrcode' + str(index) + '.png'
if not os.path.exists(os.path.dirname(savePath)):
os.makedirs(os.path.dirname(savePath))
urllib.urlretrieve(apiUrl, savePath)
以上仅供参考,可以自行定义
Post-build Actions(展示apk链接和二维码)
以上配置完成后,保存,然后点立即构建就可以得到文章开始展示的二维码了。
中间确实碰到了很多坑,所以从最开始的截图可以看到,我是在第33次构建后才成功的,所以也是记录下,方便以后自己能快速集成!当然还有一些功能未完待续,比如参数化构建,设置名字之类的,后续补充。