[开源工具]Jenkins如何配置拉取Git/Jenkins使用Unity一键打包[windows][android]

  • 1.背景介绍
  • 1.1Jenkins是什么?
  • 1.2用Jenkins+Unity的好处?
  • 2.Jenkins安装&使用
  • 2.1Java11
  • 2.2 下载jenkins.war(我用tomcat所以需要,可以用jenkins安装版本)
  • 2.3 使用Tomcat9
  • 2.4将tomcat9解压后,把jenkins.war放入
  • 2.5双击运行startup.bat -> 包含jenkins
  • 2.6复制文本,访问localhost:8080/jenkins
  • 3.Jenkins拉取Git
  • 4.Jenkins配置Unity打包(直接命令行,不用unity3d插件)
  • 4.1[github项目-jenkins_unity](https://github.com/zld126126/jenkins_unity)
  • 4.2windows-bat打包...
  • 4.3核心打包.cs
  • 5.[推荐]使用Jenkins自带Unity3d插件打包,输出完整日志
  • 6.TODO拉取Git+Unity打包合并处理,未完待续


1.背景介绍

1.1Jenkins是什么?

jenkins触发win下的命令 jenkins调用windows命令_jenkins触发win下的命令


Jenkins官网是一款开源 CI&CD(持续集成&持续部署) 软件,用于自动化各种任务,包括构建、测试和部署软件。

简易安装:Jenkins 是一个基于 Java 的独立程序,可以立即运行,包含 Windows、Mac OS X 和其他类 Unix 操作系统。Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。

插件扩展:通过更新中心中的 1000 多个插件,Jenkins 集成了持续集成和持续交付工具链中几乎所有的工具。而且Jenkins 可以通过其插件架构进行扩展,从而为 Jenkins 可以做的事提供几乎无限的可能性。

分布式:Jenkins 可以轻松地在多台机器上分配工作,帮助更快速地跨多个平台推动构建、测试和部署。

CI&CD:作为一个可扩展的自动化服务器,Jenkins 可以用作简单的 CI 服务器,或者变成任何项目的持续交付中心。

清华Jenkins下载

1.2用Jenkins+Unity的好处?

通俗的说,就是将重复的打包工作交给了计算机处理,解放了程序员,程序直接看打包结果就行了.

jenkins触发win下的命令 jenkins调用windows命令_jenkins触发win下的命令_02

2.Jenkins安装&使用

我用的windows环境+tomcat部署

2.1Java11

java11下载

jenkins触发win下的命令 jenkins调用windows命令_Jenkins_03

jenkins触发win下的命令 jenkins调用windows命令_开源_04


jenkins触发win下的命令 jenkins调用windows命令_Jenkins_05

jenkins触发win下的命令 jenkins调用windows命令_jenkins触发win下的命令_06

2.2 下载jenkins.war(我用tomcat所以需要,可以用jenkins安装版本)

Jenkins.war

jenkins触发win下的命令 jenkins调用windows命令_开源_07

2.3 使用Tomcat9

Tomcat9下载

jenkins触发win下的命令 jenkins调用windows命令_jenkins_08


解压到路径:

jenkins触发win下的命令 jenkins调用windows命令_jenkins_09

2.4将tomcat9解压后,把jenkins.war放入

jenkins触发win下的命令 jenkins调用windows命令_git_10


jenkins触发win下的命令 jenkins调用windows命令_jenkins_11

2.5双击运行startup.bat -> 包含jenkins

jenkins触发win下的命令 jenkins调用windows命令_git_12


解决中文乱码

jenkins触发win下的命令 jenkins调用windows命令_jenkins触发win下的命令_13


tomcat9带了jenkins会有jenkins的初始密码

jenkins触发win下的命令 jenkins调用windows命令_jenkins_14

2.6复制文本,访问localhost:8080/jenkins

jenkins触发win下的命令 jenkins调用windows命令_git_15


jenkins触发win下的命令 jenkins调用windows命令_git_16

jenkins触发win下的命令 jenkins调用windows命令_jenkins触发win下的命令_17


jenkins触发win下的命令 jenkins调用windows命令_开源_18


jenkins触发win下的命令 jenkins调用windows命令_开源_19


jenkins触发win下的命令 jenkins调用windows命令_Jenkins_20

3.Jenkins拉取Git

jenkins触发win下的命令 jenkins调用windows命令_git_21

jenkins触发win下的命令 jenkins调用windows命令_Jenkins_22


jenkins触发win下的命令 jenkins调用windows命令_jenkins_23

4.Jenkins配置Unity打包(直接命令行,不用unity3d插件)

4.1github项目-jenkins_unity

4.2windows-bat打包…

jenkins触发win下的命令 jenkins调用windows命令_git_24

4.3核心打包.cs

using System;
using UnityEditor;

class MyEditorScript {
        [MenuItem ("Custom/CI/Build Android")]
        public static void BuildAndroid()
        {
            string[] scenes = { "Assets/Scenes/SampleScene.unity"}; // 填写您的场景文件路径
            string outputPath = "Builds/Android/JenkinsUnity.apk";
            
            BuildPipeline.BuildPlayer(scenes, outputPath, BuildTarget.Android, BuildOptions.None);
        }
}

jenkins触发win下的命令 jenkins调用windows命令_git_21


jenkins触发win下的命令 jenkins调用windows命令_jenkins触发win下的命令_26


jenkins触发win下的命令 jenkins调用windows命令_jenkins_27

5.[推荐]使用Jenkins自带Unity3d插件打包,输出完整日志

此处参考了我的朋友TopGames的博客

jenkins触发win下的命令 jenkins调用windows命令_jenkins触发win下的命令_28

jenkins触发win下的命令 jenkins调用windows命令_Jenkins_29

增加参数:ProjectRoot

jenkins触发win下的命令 jenkins调用windows命令_git_30


然后配置Jenkins内置unity3d插件


jenkins触发win下的命令 jenkins调用windows命令_jenkins触发win下的命令_31

安装好unity3d插件后如图


jenkins触发win下的命令 jenkins调用windows命令_jenkins触发win下的命令_32

打开全局工具配置


jenkins触发win下的命令 jenkins调用windows命令_git_33

jenkins触发win下的命令 jenkins调用windows命令_jenkins_34

此时返回项目配置:


jenkins触发win下的命令 jenkins调用windows命令_git_35

复制如下内容:


jenkins触发win下的命令 jenkins调用windows命令_git_36

点击运行:


jenkins触发win下的命令 jenkins调用windows命令_Jenkins_37


控制台会打印完整的unity日志


jenkins触发win下的命令 jenkins调用windows命令_Jenkins_38

6.TODO拉取Git+Unity打包合并处理,未完待续