Jenkins自动打包Apk(一)

  • Post author:
  • Post category:其他


1、安装Jenkins

jenkins安装有两种方式(强烈建议使用第二种方式安装,第一种安装完毕后即可在本机完成搭建jenkins的工作。但是jenkins不会用你本机的用户去构建,啥意思的就是jenkins不能打开unity,也调不了unity里面自己写的脚本方法。

https://blog.csdn.net/wirelessqa/article/details/8647771

这篇文章可以解决)

安装jdk、sdk(过程略过)

2、访问Jenkins

  • 启动Jenkins:终端中输入

    java -jar /usr/local/opt/jenkins/libexec/jenkins.war 

  • 在浏览器里面打开 http://localhost:8080/ :如果端口冲突修改端口

    defaults write /Library/Preferences/org.jenkins-ci httpPort xxxx

3、新建Item

输入工程任务名称、选择自由风格工程(根据项目自行调整)

  • General  选择默认就可以
  • 源码管理

    配置svn 或 git 地址,添加用户。选择checkout 方式

    svn配置checkout 有多个选项,根据需求选择不同的checkout 方式,一般选择 Use‘svnupdate’ as much as possible
  • 构建触发器
  • 构建环境

    触发器与构建环境根据自己项目进行选择。没有特殊要求可以不选择
  • 构建 (最重要的部分)



    选择Execute shell

    命令行执行shell脚本,通过shell 打包Android Apk

    #!/bin/sh
    #UNITY程序的路径#
    UNITY_PATH=/Applications/2018.4.6f1/Unity.app/Contents/MacOS/Unity
     
    #游戏程序路径#
    PROJECT_PATH=/Users/apple/Desktop/unityClient/JenkinsDemo
     
    #在Unity中构建apk#
    $UNITY_PATH -projectPath $PROJECT_PATH -executeMethod ProjectBuild.BuildForAndroid -quit
     
    echo "Apk生成完毕"

    unity 路径 :Unity安装路径,根据自己Unity安装路径调整

    程序路径:工程路径

    构建Apk :执行 ProjectBuild.BuildForAndroid方法执行完成后退出

4、Unity中设置

Editor 中创建 ProjectBuild 类 继承自 Editor

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


public class ProjectBuild : Editor
{
    //在这里找出你当前工程所有的场景文件,假设你只想把部分的scene文件打包 那么这里可以写你的条件判断 总之返回一个字符串数组。
    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();
    }

    static void BuildForAndroid()
    {
        string path = Application.dataPath + "/Auto.apk";
        BuildPipeline.BuildPlayer(GetBuildScenes(), path, BuildTarget.Android, BuildOptions.None);
    } 
}

5、完成

开始构建。



注意⚠️ 构建时候需要关闭Unity

注意⚠️ 构建时候需要关闭Unity

注意⚠️ 构建时候需要关闭Unity



版权声明:本文为I_m_yang_原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。