文章目录

  • 一键式部署的工具
  • il2cpp的特点: 打包更慢,但代码运行更快,效率更高
  • 全局配置:
  • 插件安装:
  • 在全局工具配置中,加入多个版本的unity.
  • 重启jenkins慢的问题:
  • 定时构建:
  • 比如设置,每15分钟执行一次,如下:
  • 执行unity命令、windows命令
  • 构建完成后,邮件提醒:
  • 归档:将打包出来的东西,存储起来
  • **Jenkins部署svn更新:**
  • 至此,打资源及打包的流程就过了。
  • 构建失败了,因为Unity没关。 不能开两个实例。
  • 使用rar软件,用命令行,将打出的win包,压缩zip
  • 再讲Jenkins安卓打包
  • 开始打包IOS流程

一键式部署的工具

1、安装


C:\ProgramData\Jenkins.jenkins\secrets\initialAdminPassword安装完成!

注册账号:

注册的账户信息:

840643859@qq.comndk

与il2cpp作用:

ndk的作用: 把代码编译成il2cpp,底层c++

il2cpp的特点: 打包更慢,但代码运行更快,效率更高

访问其他电脑的jenkins:

把这个路径的 localhost,改成要访问的电脑的ip,再加 冒号 8080 。

全局配置:

插件安装:

有一个失败了,不知道要紧不?

在全局工具配置中,加入多个版本的unity.

重启jenkins慢的问题:

出现这个情况时,是因为Jenkins的默认更新镜像用的国外的镜像,把更新镜像改成国内的即可。

首先打开Jenkins的安装目录, 比如我是安装在 D:\Program Files (x86)\Jenkins 这个目录,打开这个目录,然后打开hudson.model.UpdateCenter.xml 这个配置文件,

将https://updates.jenkins.io/update-center.json 修改成http://mirror.xmission.com/jenkins/updates/update-center.json ,
然后打开windows服务管理器,重启Jenkins服务,再重新刷新Jenkins启动页面即可

新建任务

定时构建:

比如设置,每15分钟执行一次,如下:

执行unity命令、windows命令

构建完成后,邮件提醒:

归档:将打包出来的东西,存储起来


Jenkins部署svn更新:

先拉项目,再具体的项目配置中,输入要执行的指令。

通常来说, 都是先清理,再还原,再更新。。 再执行打包等。

执行更新时, 需要提供 账号密码

然后点这里,”开始构建“:

发现报错了: (需要在jenkins的环境变量中,配置svn)

为jenkins 配置svn 环境变量

再测试:svn执行就正常了。

Jenkins执行 Unity函数在unity写一个编辑器的静态方法:

Unity需要执行的指令:
-projectpath %WorkPath% -quit -batchmode -executeMethod TestEditor.JenkinsTest -logFile "D:\logtxt"如下:
https://docs.unity3d.com/cn/2020.2/Manual/CommandLineArguments.html

改指令为unity提供的固定写法。

指令说明:
-projectpath 后面接unity项目的位置
-quit 表示执行完,会退出unity
-batchmode 表示不打开unity软件,在后台静默执行,
-executeMethod 后面接Unity中的静态类.方法名, 表示要执行的函数,
-logFile 后接txt文件,unity将写入执行过程中产生的log信息

如下:

在Jenkins配置Unity需要执行的指令:

可以先测试在终端执行的效果。

测试完成可以看到,时间已经改到了。

注意!需要关掉Unity,才能使用后台执行。 因为每个unity工程同一时间只能开启一个实例。

再测试在Jenkins中的执行:执行中: 有一点点久。执行完成: (第14条)查看log信息的入口:log信息的开始部分:最后部分有Success. (如果脚本有错误或其他问题,会Failed),准备工作,测试完成!Jenkins执行Unity打应用包先查看打资源包与打应用包的流程:先打ab资源:打ab——将xml转为二进制:xml是游戏的数据配置文件。先看下,为什么要xml转成二进制。转的方法:先获取目录下所有 .xml再转二进制:
* 读取并记录资源的依赖信息,并进行添加。(处理依赖,也是为了减少资源冗余)

* 再添加prefab本体。* 再删除.manifest文件。 (因为这里是自己手动配置的,不用manifest管理, 不用是因为manifest管理会有冗余)* 再对以上信息(二进制、依赖资源、prefab本体),setABname, 标记assetBundle名字。

assetImporter.assetBundleName = name;
* 最后调用ab资源的打包的API:

AssetBundleManifest manifest = BuildPipeline.BuildAssetBundles(m_BunleTargetPath, BuildAssetBundleOptions.ChunkBasedCompression, EditorUserBuildSettings.activeBuildTarget);
* 打资源完成后,将资源拷贝到对应的目录,以用于之后打包时的需要。

* 打应用包:

BuildPipeline.BuildPlayer(FindEnableEditorrScenes(), savePath, EditorUserBuildSettings.activeBuildTarget, BuildOptions.None);savePath:是打出的包要存放的路径
* 最后再删除ab包, 因为下次还要重新打。

至此,打资源及打包的流程就过了。

现在打包的入口,配置到jinKens中。再开始构建。

构建失败了,因为Unity没关。 不能开两个实例。

把这个关了,再试下。在构建的过程中,可以点控制台,看到不断有信息在输出。SUCCESS 成功了:

查看目录路径,可看到包已经打出来了。

但这样只能存在打包机上。还未完成。

应该把这个包压缩成zip格式,并传到ftp,供其他人通过ftp随时下载。

使用rar软件,用命令行,将打出的win包,压缩zip

Winrar.exe a -r -ep1 “输出路径.rar” "需要压缩的文件夹路径"比如我的rar在此:开始测试在终端压缩:压缩测试成功:压缩成功了, 但如果是自动化处理,包名就不能写死,因为包名是每次打包时根据时间生成的不同数字。思路:可以在打包时,将包名写入文本文件。打包完后,再读这个文本里的名字,再调用压缩命令。先添加windows批处理命令。增加指令:第一行:进入d盘(因为buildname.txt文件在f盘)第二行:读取 buildname.txt 里的版本号第三行:进入f盘(因为rar软件在f盘)第四行:调用rar软件进行压缩。对应路径:上面有用到之前说到过的, set name=%%i 赋值, %name% 取值这里有个坑,要注意,如果在vs改了代码,不能直接去jinkens执行,要先打开unity,进行编译。报错了:又失败了,调的API的问题,换一下:再打包一次:踩坑! 在修改环境变量后,需要重启jenkins,才能生效。重启的方法:访问此路径,之后点击确认。有个奇怪的问题出现了,我修改的项目的路径WorkPath,但无论怎么打包,都是打的没改之前的那个。配置的E盘:运行的却是D盘:很怪,查一下:但是上面的svn却可以正确引用到:尝试多次,还是不行,再试试加双引号的方式:还是不行:可以看到,无论怎么设置 %WorkPath"都读不到,且前面还会变成 ”工作空间“的路径值。如果不设置”工作空间“,则路径也会变成jinkens的默认路径值。可能是workPath命名被缓存了,或者与系统变量有冲突, 我都改成WorkPath1试下。还是不行。然后看了下参数的说明:原来,他这里的projectpath的p, 要小写。而unity的api中的p,是大写。坑爹!难怪一直读不到 projectPath改好了,再试一下。还是报错了:再重启试一下:还是有问题。又试了几次,也不行。再看下网上别人怎么弄的。发现有个人是用 取变量值的。但教程上一直是取变量值的。但教程上一直是%xxx%取值的,且教程上是对的。但现在看来教程的版本可能跟我的不同了。于是我也用取变量值的。但教程上一直是取变量。但还是报错了。原来语法要改成这样,只有这样,才不会报错。看下我失败的尝试。新的报错:它说这个类没有。但其实是有的。测试了下,还是不行。上面行了,其实是因为,还是用到了D盘里面的项目了。最后再改了路径,现在是真的用到E盘的正确路径了。踩坑!unity编辑器指令,需要用 $符号,且特定方式取值。它说,此处不应有?是什么意思可能是因为这个文件是在e盘,而之前我是进入的f盘。改成e试下:还是不行:原来这里是必须加分号(

jenkins 一键式部署的工具相关推荐

  1. 4步搞定MySQL安装部署(附MySQL一键式部署脚本)

    墨墨导读:良好的开端是成功的一半,从MySQL安装开始. 学习数据库技术,实际动手的第一步是安装自己的MySQL.MySQL方面也提供多样式的安装方式rpm ,tar ,源码包.当安装完投入使用之后, ...

  2. jenkins shell 权限_使用Jenkins一键打包部署SpringBoot应用,就是这么6!

    任何简单操作的背后,都有一套相当复杂的机制.本文将以SpringBoot应用的在Docker环境下的打包部署为例,详细讲解如何使用Jenkins一键打包部署SpringBoot应用. Jenkins简 ...

  3. 【项目部署】使用Jenkins一键打包部署前端Vue应用

    文章目录 前言 一.准备工作 1.安装nginx 1.1 下载nginx的docker镜像 1.2 从容器中拷贝nginx配置 1.3 使用docker命令启动 1.4 测试 二.安装NodeJS插件 ...

  4. 使用应用编排服务一键式部署,持续集成利器--jenkins

    这篇文章主要是来聊一聊jenkins,可说道jenkins,我没有办法不把它与持续集成(Continuous integration,简称CI)联系到一起,所以我先来谈谈什么是持续集成以及为什么需要持 ...

  5. ionic助手 v1.9.0 一键式开发环境工具(告别命令行,超强功能)

    ionic中文社区群:65048636 注意:使用前请确保您已经安装部署好ionic环境 搭建绿色环境:Ionic_1.x 5分钟快速搭建绿色开发环境 手动搭建环境:Ionic_2.x 手动搭建开发环 ...

  6. docker 使用 iso虚拟光驱一键式安装

    基于前篇的手动安装,更进一步希望一键式安装,基本思路如下: 1.将安装包及sh脚本打包成iso文件,制作成光盘加载在linux系统中,然后通过mount.cp.sh等操作完成一条命令即可一键式安装完成 ...

  7. 5分钟快速掌握Jenkins,项目一键自动部署

    5分钟快速掌握Jenkins,项目一键自动部署 目录 前言 Jenkins是什么? Jenkins环境安装搭建 Jenkins基本使用介绍 Jenkins快速构建项目,项目自动化部署 学习总结 前言 ...

  8. 拒做工具人!教你一键快速部署应用到容器镜像仓库

    作者 | Cloud Toolkit 近年来,容器技术以迅雷不及掩耳之势迅速蔓延开来,容器技术基于各种场景的尝试与实践更是层出不穷,它的崛起改变了我们创建.发布与运行应用的方式,实现了资源的独立与隔离 ...

  9. Asp.net Core Jenkins Docker 实现一键化部署

    写在前面 在前段时间尝试过用Jenkins来进行asp.net core 程序在IIS上面的自动部署.大概的流程是Jenkins从git上获取代码 最开始Jenkins是放在Ubuntu的Docker ...

最新文章

  1. 作业4(列表增加或者修改)
  2. Python学习笔记 (1)Hello World(环境搭建+输出Hello World!)...
  3. 百练OJ:4150:上机
  4. PHP7开启opcache打造强悍性能
  5. 看看如何有效地在你的设计工作中使用霓虹色?
  6. 今日七夕!不取标题,只想娶你
  7. CSAPP Bomb Lab记录
  8. CodeChef June Challenge 2017
  9. 小艾果果的伤感空间日志发布:分手后,温暖很稀少
  10. 新闻管理系统(C#)
  11. Opencv中convertTo函数
  12. mina框架详解(一)
  13. postgresql中case when的使用
  14. 计算机网络辅助英语写作,基于计算机网络的英语写作教学
  15. NRF51822 回顾总结
  16. 密码中对称非对称加密是什么意思?
  17. 股票及炒股票的基础知识
  18. python画图小动物_如何用python画简单的动物
  19. 五线谱基础教程视频乐理基础
  20. GPT系列学习笔记:GPT、GPT2、GPT3

热门文章

  1. ffmpeg源代码处理流程分析_FFmpeg源代码简单分析:内存的分配和释放
  2. 白鹭安装node_Egret Engine(白鹭引擎)介绍及windows下安装
  3. 中科红旗倒下,谁来挑战windows
  4. 画漫画软件有哪些?这几款绘画软件必不可少!
  5. Kafka中的消费者组(Consumer Group)
  6. 前端CDN资源库,解决HTML大屏首次加载慢的问题了,大屏项目必备cdn加速
  7. LC滤波器的截止频率公式
  8. 基本的Dos命令(命令行盘符切换)
  9. 精诚CRMPM系统应该要有哪些销售功能
  10. 基础平台项目之集成Jquery.pagination.js实现分页