【Unity】Jenkins自动打包扩展知识——SVN篇

Unity 基于Jenkins自动化打包流程 Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。 阅读详情

学习目标:在已有SVN前提上,对SVN的项目进行自动打包

参考资料:

https://blog.csdn.net/nankeyixiao/article/details/79948608

Jenkins触发器时间格式说明

【Unity】Jenkins自动打包入门小结

SVN入门

关于上面的.\LocalSVNRoot/20200210Main是相对于任务文件目录的相对路径,如下所示。

这个文件夹会在构建的时候自动从SVN的地址检出,也就是SVN的一个副本,这个Jenkins任务构建的工程就是这个本地项目!而不是SVN上的项目。

-quit -batchmode -projectPath E:\jenkins\workspace\第二个Jenkins任务SVN\LocalSVNRoot\20200210Main -executeMethod UnityProjectBuilder.CommandLineBuild -logFile JenkinsBuildUnity.log Platform-$Platform BuildPath-$BuildPath

上面的构建字符串肯定是要改的,如何改?关于上面的字符串在我另一篇文章有介绍就不在此阐述了~

【Unity】Jenkins自动打包入门小结

上面链接文章中的C#脚本有更新,如下所示,将其放入Editor文件夹下即可。

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;

public class UnityProjectBuilder
{

    static string[] GetBuildScenes()
    {
        List<string> names = new List<string>();

        foreach (EditorBuildSettingsScene e in EditorBuildSettings.scenes)
        {
            if (e == null)
                continue;

            if (e.enabled)
                names.Add(e.path);
        }
        return names.ToArray();
    }

    /// <summary>
        /// 此方法是从jienkins上接受  数据的 方法
        /// </summary>
    static void CommandLineBuild()
    {
        try
        {

            Debug.Log("Command line build\n------------------\n------------------");
            string[] scenes = GetBuildScenes();
            //string path = @"E:\Unity游戏包\Android\消消乐游戏";//这里的路径是打包的路径, 定义
            string path = GetJenkinsParameter("BuildPath");
            Debug.Log("构建路径:" + path);
            for (int i = 0; i < scenes.Length; ++i)
            {
                Debug.Log(string.Format("Scene[{0}]: \"{1}\"", i, scenes[i]));
            }
            // ProjectPackageEditor.BuildByJenkins(GetJenkinsParameter("Platform"), GetJenkinsParameter("AppID"), GetJenkinsParameter("Version"), GetJenkinsParameter("IPAddress"));
            Debug.Log("Starting Build!");
            Debug.Log(GetJenkinsParameter("Platform"));

            string platform = GetJenkinsParameter("Platform");
            if (platform == "Android")
            {
                Debug.Log("打包Android");
                BuildPipeline.BuildPlayer(scenes, path + ".apk", BuildTarget.Android, BuildOptions.None);
            }
            else if (platform == "IOS")
            {
                //BuildPipeline.BuildPlayer(scenes, path, BuildTarget.iOS, BuildOptions.AcceptExternalModificationsToPlayer);
            }
            else if(platform == "Window")
            {
                Debug.Log("打包Window");
                BuildPipeline.BuildPlayer(scenes, path + ".exe", BuildTarget.StandaloneWindows64, BuildOptions.None);
            }
        }
        catch (Exception err)
        {
            Console.WriteLine("方法F中捕捉到:" + err.Message);
            throw;//重新抛出当前正在由catch块处理的异常err
        }
        finally
        {
            Debug.Log("---------->  I am copying!   <--------------");
        }
    }


    /// <summary>
    ///解释jekins 传输的参数
    /// </summary>
    /// <param name="name"></param>
    /// <returns></returns>
    static string GetJenkinsParameter(string name)
    {
        foreach (string arg in Environment.GetCommandLineArgs())
        {
            Debug.Log("arg:" + arg);
            if (arg.StartsWith(name))
            {
                return arg.Split("-"[0])[1];
            }
        }
        return null;
    }
}

构建成功后

Unity Jenkins打包 部署 Jenkins 打包Unity APK新建一个Unity 工程,添加编辑器打包脚本编辑器脚本 APKBuild.cs 编辑状态下调用 APKBuild中 Build 方法,执行打包, 测试成功开始编写 批处理脚本 Unity.bat 通过批处理脚本调用 APKBuild中 Build 方法 执行打包 执行批处理打包成功开始在Jenkins新建项目APKBuild.cs 代码如下using Syst... 阅读详情

相关推荐

Unity安卓自动化打包:Jenkins+SVN+Unity链路搭建与踩坑记录

持续集成(CI)是现代软件开发中提升交付效率的核心实践,通过自动化构建流水线将代码提交、编译、打包等重复性操作固化到工具链中。其原理基于版本控制仓库触发构建任务,由调度系统执行脚本并产出可追溯的构建产物。在安卓应用开发领域,Unity引擎项目的APK打包长期依赖手工操作,存在耗时长、配置易错、版本追溯困难等问题。利用Jenkins作为任务调度中枢,结合SVN版本管理与Unity命令行模式,能够构建一条从代码提交到安卓安装包自动产出的完整链路,实现增量更新、版本号自动注入、产物归档和失败告警。这套方案尤其适合

weixin_32943857的博客 224

Windows下Jenkins 配合svn 迭代unity打包apk

Windows下Jenkins 配合svn 迭代unity打包apk 文章目录Windows下Jenkins 配合svn 迭代unity打包apk一、安装Jenkins二、Jenkins设置1.下载相关插件2.全局化配置3.新建项目4.Unity项目bat文件功能5.unity build中的方法异常小结注意:项目从SVN拉取下来之后 最好进去打包一次看有没有问题,不然很容易就出现异常2的情况,编译通过后记得关闭工程,不然就会出现异常3 一、安装Jenkins 百度一下 然后直接下一步就好了 二、Jenk

weixin_40769320的博客 1751

Unity 之jenkins自动打包

1.Jenkins 是什么? jenkins官方网址:https://www.jenkins.io/zh/ Jenkins是一款开源 CI&CD(持续集成&持续部署) 软件,用于自动化各种任务,包括构建、测试和部署软件。 简易安装:Jenkins 是一个基于 Java 的独立程序,可以立即运行,包含 Windows、Mac OS X 和其他类 Unix 操作系统。Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。 插件扩展:通过更新中心中的

TxNet 2120

Jenkins+Unity踩坑日记(详细下载安装手册)

一、 安装Jenkins 下载地址:Jenkins 打开安装程序: 进行到这一步,找到红色地址的密码,输入进去。 这是该密码的位置: 配置管理员信息。 安装完成后,打开系统设置。 找到环境变量,配置jdk位置以及sdk位置。 这里需要注意的是,ANDROID_HOME、JAVA_HOME和Path这三个Key值不可随意取,按照这个规定配置。这三个环境变量缺一...

alph258的博客 3523

使用Jenkins进行Unity自动构建

使用Jenkins进行Unity自动构建的环境搭建笔记

Outlook邮件备份全攻略:从导出到导入的完整流程(附常见问题解决)

本文提供了一份详尽的Outlook邮件备份全攻略,涵盖从导出到导入的完整流程。重点解析了经典桌面版Outlook的.pst文件备份方法、进阶的智能筛选备份策略,以及如何通过导入恢复和工具验证确保备份可用。同时,文章还介绍了构建自动化备份体系与异地容灾的最佳实践,并附有常见问题解决方案,帮助用户建立可靠的邮件数据安全防线。

weixin_29248611的博客 867

Unity之Scenes自动添加进BuildSetting

【代码】Unity之Scenes自动添加进BuildSetting。

枫叶的博客 214

ROS新手必看:5分钟搞定URDF小车建模(附Rviz可视化调试技巧)

本文为ROS新手提供了快速构建URDF机器人模型的实战指南。通过一个完整的两轮差速小车建模案例,详细解析了URDF的核心语法、Rviz可视化调试技巧以及常见问题排查方法,帮助初学者快速掌握ROS机器人建模与可视化调试的核心技能。

weixin_29079643的博客 242

UnityEidtor编辑器扩展分享一个BuildSetting Scene场景排序方法

editor编辑器扩展 场景m_Path排序

大话程序员 781

FPGA实战:手把手教你用Verilog驱动4.3寸RGB触摸屏(附完整代码)

本文详细介绍了如何使用Verilog语言在FPGA上驱动4.3寸RGB触摸屏,包括时序设计、信号交互原理及完整代码实现。通过双计数器引擎设计和参数化模块,开发者可以高效构建800*480分辨率的显示驱动,并解决工程实践中的信号完整性和时序收敛问题。

rice5的博客 696

FPGA高速通信双核解析:CMAC与Interlaken硬核的实战对比

本文深入对比了FPGA中两大高速通信硬核CMAC与Interlaken的核心差异与应用场景。CMAC作为标准以太网接入方案,适用于网卡、交换机等需对外互联的场景;而Interlaken则以极低延迟和高效通道化能力,专为芯片间、板间裸数据高速传输设计。文章通过实战案例与性能指标分析,为FPGA高速通信方案选型提供清晰指南。

f9g0h的博客 832

unity3D 编辑器扩展,代码设置 Build Settings 选择的场景

有时项目需要,某些情况下需要选择打包/不打包某些场景。如果手动去 设置选择 BuildSettings 中这些场景,过程将变得很枯燥,也很容易漏掉这个步骤! 那么,我们就用代码解决吧! using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; public class TestEditor : EditorWindow { [MenuItem("Tools

iDaDi的博客 2224

电机瞬态分析基础(2):理想电机的基本假设和正方向规定

电机瞬态分析基础之理想电机假设条件和正方向规定

weixin_45670943的博客 1137

【游戏开发进阶】教你Unity通过Jenkins实现自动化打包,打包这种事情就交给策划了(保姆级教程 | 命令行打包 | 自动构建)

教你Unity通过Jenkins实现自动化打包,打包这种事情就交给策划了(保姆级教程 | 命令行打包 | 自动构建)

linxinfa的专栏 3万+

基于大语言模型的多轮对话系统优化研究

基于大语言模型的多轮对话系统优化研究 摘要 本研究针对大语言模型在多轮对话场景中的性能衰减问题,提出了一套系统优化方案。通过分层存储架构(短期记忆层、中期摘要层、长期知识层)和混合检索策略优化上下文管理,设计动态槽位填充框架增强对话状态跟踪,引入熵引导的重置算法改进生成策略,并采用双路径加载架构突破I/O瓶颈。实验表明,该方案使任务完成率提升28.6%,响应一致性提高41.2%,推理延迟降低35.8%,为构建高性能智能对话系统提供了实用技术路径。 关键词:大语言模型;多轮对话;上下文管理;状态跟踪~~~~~

huanghm88的专栏 657

基于STM32设计的环境监测系统(华为云IOT)_300

随着空气污染问题日益严峻,环境空气质量的监测变得愈加重要。为了解决这一问题,本项目设计并实现了一款基于STM32的空气质量监测设备,能够实时监测空气中的温湿度、二氧化碳浓度和甲醛浓度,并通过OLED显示屏展示数据。此外,设备支持通过WIFI模块将数据上传至云端,用户可以通过手机APP或Windows上位机查看实时数据。设备采用MQTT协议与华为云IOT物联网服务器进行数据通信,确保数据的实时性和可靠性。本项目还结合了低功耗设计和高灵敏度传感器,使得设备能够高效稳定地运行,并实现远程监控功能。

687

Unity + Jenkins自动打包 (一)Jenkins安装及服务权限设置

Jenkins安装 Jenkins服务权限设置

水星程序店 3975

【agent实战教程】OpenClaw多个agent一文通

一个合格的独立agent,必须具备6个完全独立的专属组件独立组件路径规则核心要求不独立的严重后果唯一agentId配置文件中全局唯一,不能重复,建议用英文+数字,不要有特殊字符agent配置冲突,消息派单错误,会话串线独立工作区(workspace)建议每个agent一个独立文件夹,不要共用人设、记忆、规则混在一起,agent人设崩塌,对话串线独立状态目录(agentDir)固定系统自动生成,绝对禁止多个agent复用同一个agentDir。

海兰 638

Jenkins 构建 Unity打包APK

Jenkins 打包Unity APK新建一个Unity 工程,添加编辑器打包脚本编辑器脚本 APKBuild.cs 编辑状态下调用 APKBuild中 Build 方法,执行打包, 测试成功开始编写 批处理脚本 Unity.bat 通过批处理脚本调用 APKBuild中 Build 方法 执行打包 执行批处理打包成功开始在Jenkins新建项目 APKBuild.cs 代码如下usi

lq 3571

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Unity Jenkins 自动化打包

这里默认大家jenkins和unity打包环境都是搭建好的 如果没有的话自行搜一下 把环境搭建一下 接下来就是配置Jenkins windows+Android打包 到插件列表里把Unity3D插件下载一下 然后去配置一下环境 这里我配置Gradle 因为的项目是先打出android工程 然后gradle打包的 回到这里 把Unity安装路径配置一下 配置好这些就可以创建Jenkins项目了 填写个名字 点击确定 这里是构建参数 在这里填写 然后到...

于子潇的博客 1977

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Mac环境下Unity之Jenkins全自动打包:安卓篇

开始前准备,环境配置: 安装Unity:Unity安装文档指引请务必安装较高版本的Unity,勾选同时安装安卓相关的环境配置 安装Homebrew:Homebrew 安装与使用 安装JDK:Mac下JDK安装 安装Jenkins:Mac下使用Homebrew安装Jenkins 安装SVN:Mac下SVN安装 安卓配置: 保证Unity项目已经上传到svn ProjectSetting配置: 切换到安卓平台 打开ProjectSetting,在Publishiing Setting下配置安

shazhiwutx的博客 1070

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Unity + Jenkins自动打包 (二)构建Jenkins项目以及编写Python、Unity脚本

构建Jenkins项目 Unity自动打包

水星程序店 2237

(一) JenKins自动打包 参数配置

JenKins的参数配置 1.创建一个任务 2.配置正确的参数 1 介绍 2 保存的天数 3高级设置 3.点击高级设置就会弹出下面画面,我们需要设置下工程的目录,和在外部显示的名称,还是很重要的,会跑不起来的。 4.点击保存,回到主界面 就会发现 多了一个我们刚刚创建的工程 5.我们还是回到刚刚配置参数界面 创建一个string参数 设置想工程目录的简称 因为下面写 bat命令的时候会用到...

你只管努力,其他的,交给天意! 1661

Jenkins基于unity的自动化打包

 Jenkins的使用       关于jenkins的环境配置,这里就不介绍了,百度里面的教程够多。做下搬运工,可以参考这篇文章https://blog.csdn.net/potato512/article/details/52289136   mac下强烈建议 使用 brew 去安装 jenkins,不然会有很多坑brew 安装jenkins 时可能根据需要修改工作目录.修改工作目录的步骤如下...

nankeyixiao的博客 1万+

好玩的东西 Jenkins 自动化打包

官网下载jenkins 左边的windowns 装好后next 点到选择localsystem (第一个选择框)然后设置用户名密码然后连接外网 会打开一个jenkins连接 根据提示安装插件 有一部分装不了无所谓 然后继续 创建用户密码 然后开始使用 NDK 作用就是把底层代码变成C++ 打包时选ILCPP ILCPP 功能让代码运行时效率更高 局域网内别人想访问你的的Jenkins localhost 改成自己的IP就可以访问了 自己电脑IP:8080/manage 全局工具配

PangPangPig123的博客 715

Unity3d Jenkins 打包Android

Jenkins是一个丰富图形化构建平台。脚本命令工具(bat、shell、perl、python、ant等),代码管理工具(svn cvs等)及账号权限管理等上千个辅助插件。为软件的持续化集成工作流程提供完美支持。 使用Jenkins,利用脚本命令我们可以轻松地做任何事情。如快速集成程序应用、自动化测试等。下面将介绍,如何在windows下使用Jenkins打包Android我的配置环境 wind

阿毛 7556
上一篇: 【Unity】Jenkins自动打包入门小结
下一篇: 没有服务器的SVN,本地SVN入门篇
两水先木示
博客等级 码龄9年 986粉丝 544原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值