Jenkins使用之安卓原生项目

目的:提交代码 --> Gitlab --> webhook --> Jenkins拉取代码并打包 --> 打包完成发布到蒲公英

一、准备工作

  1. 最好在局域网准备一台专门用于运行Jenkins的电脑,下面关于jenkins的操作都在该电脑(Windows)上进行。
  2. 下载并安装好git,能正常clone代码
  3. 下载并安装JDK,配置好JDK环境变量
  4. 下载并安装Android SDK,能在本地正常编译,一个可以正常编译打包apk的项目(配置好签名等),上传到gitlab了

二、正式开始

1.下载 
下载Jenkins,官网:https://www.jenkins.io/download/

2.安装
双击安装 --> 选择路径 --> Run service as LocalSystem --> 8888端口 --> Test Port --> Entire Feature will be installed on local hard drive

3.初始化
在浏览器打开http://localhost:8888,等待Jenkins安装完成 --> 复制并输入密码后解锁,密码在:
C:\Windows\System32\config\systemprofile\AppData\Local\Jenkins.jenkins\secrets\initialAdminPassword
添加第一个管理员,用记事本记住账号密码。

注意:如果Jenkins没有启动,则需要启动一下,用管理员打开(必须)cmd,输入:net start jenkins

4.安装插件
安装所有推荐的插件(一定要用记事本把安装失败的插件记下来,因为有一些插件无法在线安装完成,需要进入系统后再从本地安装) --> 到官网https://plugins.jenkins.io/下载对应的插件,从本地安装。注意必须要安装gitlab插件和Generic Webhook Trigger插件,为后面的提交代码自动打包做准备。
PS:重启Jenkins命令:http://localhost:8888/restart

5.全局配置
Manage Jenkins --> System Configuration --> Global Tool Configuration
配置安装git、gradle、ant、maven --> 应用
在这里插入图片描述
6.配置系统
Manage Jenkins --> Configuration System  --> Jenkins URL 用本地ip替换localhost
在这里插入图片描述
全局属性 --> Environment variables --> ANDROID_HOME - E:\Android\android-sdk-windows --> 到https://gradle.org/releases/下载并解压gradle --> GRADLE_USER_HOME - E:\Android\gradle-6.8.1-bin
在这里插入图片描述
在这里插入图片描述

7.安全配置
Manage Jenkins --> Security --> Configure Global Security
在这里插入图片描述
在这里插入图片描述

8.创建任务
在这里插入图片描述
9.任务配置
General
在这里插入图片描述

源码管理
Git, Repository URL, Credentials, 添加凭据,使用gitlab用户名和密码
在这里插入图片描述
在这里插入图片描述
指定代码拉到本地哪个位置(下面的截图是另一个项目的,实际上它的路径应该和上面的自定义的工作空间一致):
在这里插入图片描述

触发器
这里真实的webhook地址应该为:http://10.16.1.155:8888/generic-webhook-trigger/invoke?token=genlot888
在这里插入图片描述
在这里插入图片描述

构建
Invoke Gradle,选择前面配置的gradle
在这里插入图片描述
构建后操作
在这里插入图片描述
注意:我们提交的代码是没有local.properties文件的,需要拷贝一份,并修改内容为本地正确的sdk路径

10.Gitlab配置
管理员放开本地webhook
在这里插入图片描述
到对应的git项目里,设置webhook
在这里插入图片描述
然后,在本地提交代码,则Jenkins开始编译打包

我这边没有成功触发webhook,gitlab显示超时,估计是gitlab的配置问题,所以提交代码之后需要手动在浏览器调用http://10.16.1.155:8888/generic-webhook-trigger/invoke?token=genlot888触发打包。这样也有一个好处,就是不会每次提交都进行打包,需要打包的时候才打包,且不用登录Jenkins。

三、上传到蒲公英

文档:https://www.pgyer.com/doc/view/jenkins_plugin

安装插件Upload to pgyer

在 jenkins 的 job 配置页面 构建或 构建后操作中添加构建步骤 upload to pgyer

在这里插入图片描述
在这里插入图片描述

原生到此<--------------------------

flutter

在这里插入图片描述

Guess you like

Origin blog.csdn.net/ithouse/article/details/117435961