UnityスクリプトパッケージとJenkinsパッケージ

6868 ワード

まず、すべての環境とパラメータが構成されていると仮定します.
一般パッケージ:Unity->File->Building Settings->Buildボタンをクリックします.
スクリプトパッケージング:Unityを開く必要はなく、スクリプトによってBuildボタンを手動でクリックする操作を完了します.
Jenkinsパッケージング:エンジニアリングを導入したコンピュータ上で操作する必要はなく、Webにアクセスしたり、自動パッケージングコマンドを設定したりしてパッケージングスクリプトを実行します.

スクリプトパッケージapk


Unityはコマンドラインパッケージのインタフェースを提供し、Mac上でアンドロイドスクリプトをパッケージ化するのは以下の通りである.
#!/bin/sh

# unity app path
UNITY_PATH=/Applications/Unity/Unity.app/Contents/MacOS/Unity

# project path
PROJ_PATH=/Users/David/Proj/UnityAutoBuild/AutoBuild

echo "============== Unity Build APK Begin =============="

$UNITY_PATH -projectPath $PROJ_PATH -executeMethod Batchmode.BuildAndroid -logFile $PROJ_PATH/android/Android.log -batchMode -quit

echo "============== Unity Build APK Finish =============="

このうちBuildAndroidはBatchmodeである.csの中の1つの静的な方法で、中の最も重要な方法は
foreach (EditorBuildSettingsScene scene in EditorBuildSettings.scenes)
{
    if (!scene.enabled) continue;
    levels.Add(scene.path);
}

string res = BuildPipeline.BuildPlayer(levels.ToArray(), "TestAutoBuild.apk", BuildTarget.Android, BuildOptions.None);

スクリプトパッケージiOS


スクリプトはiOSをパッケージ化し、2つのステップに分けられます.最初のステップはアンドロイドパッケージに似ていますが、Xcodeエンジニアリングが生成されます.第2歩はXcodeプロジェクトをipaにパッケージ化することです.(個人無料アカウントはipaを生成できず、申請開発者アカウントを購入する必要がある)
iOSパッケージスクリプトは次のとおりです.
#!/bin/sh

# unity app path
UNITY_PATH=/Applications/Unity/Unity.app/Contents/MacOS/Unity

# project path
PROJECT_PATH=/Users/David/Workspace/Proj/UnityAutoBuild/AutoBuild

#IOS #
BUILD_IOS_PATH=${PROJECT_PATH}/iOS/ipa_build.sh

# Xcode #
XCODE_PATH=iOS/XCode

XCODE_TRUE_PATH=${PROJECT_PATH}/${XCODE_PATH}

# ipa #
IPA_PATH=ipa

# unity xcode #
echo "============== Unity Build XCode Project Begin =============="
$UNITY_PATH -projectPath $PROJECT_PATH -executeMethod Batchmode.BuildiOS project-$XCODE_PATH -quit
echo "============== Unity Build XCode Project Finish =============="

# ipa#
echo "============== Unity Build IPA Begin =============="
echo $XCODE_TRUE_PATH
echo $IPA_PATH
echo $BUILD_IOS_PATH

$BUILD_IOS_PATH $XCODE_TRUE_PATH $IPA_PATH
echo "============== Unity Build IPA Finish =============="

ipa_build.sh
#!/bin/sh

#    
if [ $# != 2 ];then  
    echo "Need two params: 1.path of project 2.name of ipa file"  
    exit  
elif [ ! -d $1 ];then  
    echo "The first param is not a dictionary."  
    exit      
fi  
#    
xcode_project_path=$1  

# IPA   
ipa_name=$2  

# build   
build_path=${xcode_project_path}/build  

archive_path=${build_path}/Archive/AutoBuild.xcarchive

#  #
xcodebuild clean

#    
cd $xcode_project_path  
xcodebuild || exit  

xcodebuild archive \
-project ${xcode_project_path}/Unity-iPhone.xcodeproj \
-scheme Unity-iPhone \
-configuration "Release" \
-archivePath ${archive_path}

xcodebuild -exportArchive \
-exportOptionsPlist ${xcode_project_path}/info.plist \
-archivePath ${archive_path} \
-exportPath ${xcode_project_path}

Jenkinsパッケージ:


一般的なリリースは1台のマシンでのみ行われ、パッケージごとにコンピュータでスクリプトをダブルクリックしてパッケージすることはできません.この場合、Jenkinsを使用してパッケージ環境を構築することができます.簡単に言えば、JenkinsはWebアクセスを通じて、上記のパッケージスクリプトを実行することを実現しました.
Jenkinsは豊富なグラフィック構築プラットフォームです.スクリプトコマンドツール(bat、shell、perl、python、antなど)、コード管理ツール(svn cvsなど)、アカウント権限管理など千以上の補助プラグインを提供します.ソフトウェアの継続的な統合ワークフローを完璧にサポートします.
Jenkinsを使用してUnityパッケージを作成するメリット:1.Webページでパッケージングコマンドを実行するのは便利です.毎晩12時にパッケージ3を自動的に構築します.パッケージ結果通知は、プラグインのサポートが豊富なため、メールQQ群などに送信できます.
Jenkins公式サイトhttps://jenkins.io/ああ、具体的な案はここでは展開しません.
間違いがあれば、指摘を歓迎します.
email:dxmdxm1992#gmail.com
blog: http://blog.csdn.net/david_dai_1108