一、Jenkins的安装及配置

1.在Jenkins官网下载对应平台的Jenkins安装文件

官网地址:https://www.jenkins.io/zh/

点击下载,这里选择windows:

下载完成后解压安装jenkins.msi文件。

然后next-next就好,注意安装路径尽量选择储存盘不要选择系统盘,因为后面Jenkins的部署工程多了之后文件会挺大比较占空间。

之后浏览器会自动打开然后Jenkins会安装相应的组件,以及注册用户,激活Jenkins服务(这里需要用到Jenkins\secrets下面的密码文件,用文本工具打开复制其中的密码就好。)

2.全局工具设置

步骤:

Jenkins首页-Manage Jenkins-Global Tool Configuration

设置jdk路径(需要和环境变量中jdk路径一致):

unity3d编辑器设置:

设置unity3d路径的话需要现在第3步安装unity插件,然后全局工具设置页面才会有这个选项。

3.安装unity插件

部署unity自动打包,当然需要用到unity3d响应的插件。

步骤:

Jenkins首页-Manage Jenkins-Manage Plugins

然后在可选插件里面搜索unity,点击安装。

二、工程的创建

1.新建工程

步骤:

Jenkins首页-新建Item-选择Freestyle project

然后输入工程名字点击确定。

2.参数设置

在General栏添加描述等信息:

这里主要设置工程目录,渠道啊,版本号等参数,将会在下面的命令行用到。

3.命令行

在这里点击增加构建步骤然后增加unity命令行命令:

写法固定:

-projectpath %WorkPath% -quit -batchmode -executeMethod  BuildApp.BuildAndroid Place=$Place Version=$Version Name=$Name Build=$Build MulRendering=$MulRendering IL2CPP=$IL2CPP Debug=$Debug -logFile "D:\log.txt"

参数说明:

-projectpath:unity工程的目录

-executeMethod:untiy脚本内的静态打包方法,供unity.exe调用

其他参数按需传入,然后后面会讲到unity里面如何接收这些参数。

设置完成之后记得点击保存。

三、Jenkins和unity的交互

在untiy里可以在打包类里面写一个方法以供接收Jenkins命令行传入的参数,然后收到参数之后在对应的playersetting内对其进行设置。

unity接收命令行参数的方法:

string[] parameters = Environment.GetCommandLineArgs();

然后对parameters获取到的参数进行解析,在打包前对playersetting进行设置。

示例代码:

string[] parameters = Environment.GetCommandLineArgs();BuildSetting buildSetting = new BuildSetting();foreach (string str in parameters){if (str.StartsWith("Place")){var tempParam = str.Split(new string[] { "=" }, StringSplitOptions.RemoveEmptyEntries);if (tempParam.Length == 2){buildSetting.Place = (Place)Enum.Parse(typeof(Place), tempParam[1], true);}}else if (str.StartsWith("Version")){var tempParam = str.Split(new string[] { "=" }, StringSplitOptions.RemoveEmptyEntries);if (tempParam.Length == 2){buildSetting.Version = tempParam[1].Trim();}}}

以上都设置好之后,就可以在Jenkins进行一键打包了。

四、build

步骤:

在Jenkins首页右边点击我们创建的工程,接着点击Build with Parameters,接着设置响应的参数,然后点击开始构建

然后左侧的构建历史就会产生构建,会有进度条显示当前构建进度,我们可以点击去看具体的构建过程。

构建结束之后会在我们打包方法里面设置好的路径生成响应的文件(.apk/.exe)

其他:

备份构建工程的设置:

只需要将Jenkins工程路径下的config.xml文件拷贝出来就好

然后在需要还原的时候在jobs文件夹下新建一个文件夹,将config.xml拷贝进去重启Jenkins就可以在Jenkins首页看到还原的工程。

Jenkins服务的重启以及停止操作:

重启:只需要在浏览器里输入http://localhost:8080/restart

停止:http://localhost:8080/stop

源码:

https://download.csdn.net/download/qq302756113/12462135

Jenkins 打包配置相关推荐

  1. [原] Jenkins Android 自动打包配置

    一.Jenkins自动打包配置 目标:1. 自动打包:2. 自动上传:3. 友好下载 1. Jenkins简介 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作. 减少重复劳 ...

  2. 使用Jenkins打包和部署Maven工程步骤详解

    上节已部署jenkins: https://blog.csdn.net/weixin_39816740/article/details/104943258 并 准备好一个maven项目发布到码云 上节 ...

  3. sonarqube+sonar-scanner+jenkins安装配置及使用

    sonarqube+sonar-scanner+jenkins安装配置 一:数据库(postgresql)安装配置及数据初始化 二:sonarqube安装配置 三:sonar-scanner安装配置 ...

  4. jdk11版本jenkins打包jdk8项目,同时兼容jdk11与jdk8

    文章目录 一.说明: 二.兼容jdk8项目 1.jdk8下载 2.将jdk包解压至jenkins工作目录挂载的宿主机位置 3.jenkins页面配置jdk8 4.jdk版本选择插件下载 5.项目指定j ...

  5. Unity脚本打包和Jenkins打包

    首先我们假设所有的环境和参数都配置好了. 常规打包: 打开Unity -> File -> Building Setting -> 点击 Build 按钮. 脚本打包:不需要打开Un ...

  6. 记录:jenkins打包项目,代码不生效

    问题:本地提交了代码,分支也没有问题,jenkins打包的分支也是正确的,配置也没有问题,检查了好多地方,docker的镜像也删除了重新打包,但是提交的分支代码还是没有生效,郁闷,very郁闷. 原因 ...

  7. Jenkins打包IOS项目(疑难问题总结)

    最近正在基于Jenkins工具,实现IOS项目的CI构建,虽然已经折腾出来,但是记录一下踩过的坑 Jenkins打包IOS两种方案: 方案一:在Mac电脑上安装Jenkins,然后将本地作为一个专门用 ...

  8. jenkins中配置maven项目

    文章目录 前言 一.全局工具配置 二.配置Publish Over SSH(提前在插件管理中安装Publish Over SSH插件) 三.git认证配置 四.项目配置 前言 记录jenkins中配置 ...

  9. 干货:在Flutter项目下安卓flavor打包配置实践

    ????????关注后回复 "进群" ,拉你进程序员交流群???????? 作者丨狐友技术团队 来源丨搜狐技术产品(ID:sohu-tech) 本文字数:3894 字 预计阅读时间 ...

最新文章

  1. R语言计算回归模型每个样本(观察、observation、sample)的DFBETAS值实战:每一个样本对给定系数的估计有多大的影响
  2. java多线程实现归并排序_利用多线程对数组进行归并排序
  3. android Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)
  4. 在mysql中创建表的命令行_如何在命令行创建一个MySQL数据库
  5. 基本数据类型float和double的区别
  6. linux多内核调度,linux-kernel – 如何在Linux内核(Samsung Exynos5422)中实现异构多处理(HMP)调度?...
  7. python生成器的使用_应该如何以及为什么使用Python生成器
  8. switchpreference 事件_Vue 3 自定义事件
  9. 常用linux命令及图解(实践文档,小白都可以看得懂)
  10. 为什么vue-loader设置transformasseturls无效_拓展训练中“常见的无效提问”
  11. 揭秘一份集团公司的三方数据对接情况
  12. springcloud官方文档_springcloud-microservice 快速构建分布式系统
  13. 如何运行网页html,如何在网页中运行html代码
  14. java+io+scanner_Java知识点总结(JavaIO- Scanner类 )
  15. cplex java_cplex-Java-样例代码解析
  16. 致远OA—V5版本系统预置用户密码恢复方法
  17. OpenCV 视频处理框架
  18. SCI论文投稿前必须检查的29个细节
  19. Vue(Vue脚手架)
  20. The 10 Most Important Linux Commands/10个最经常使用的命令行

热门文章

  1. H5+Vue2: input(number/tel)唤起数字键盘,踩坑日记
  2. 语音数字信号处理系统设计(含matlab程序)
  3. RK3288开发板PopMetal上的GPIO驱动实例
  4. Android studio连接夜神模拟器(一)
  5. 360度全景拍摄,探索全景世界带你飞跃视野新高度
  6. 数算(Python)——牛顿迭代法(巴比伦算法)求解平方根
  7. android pppd log,未记录的pppd退出代码
  8. Jenkins的全量迁移
  9. a different object with the same identifier value was already associated whith
  10. 网页崩溃原因软件测试,支招:原来这些才是APP崩溃的主要原因!资深技术大牛测试经验总结...