ADT CLI をビルドパイプラインと統合する
注釈:本資料はAI技術を用いて翻訳されています。
概要
AccelByte Development Toolkit (ADT) CLI は、Jenkins や GitLab などのビルドパイプラインと簡単に統合できる非インタラクティブモードを提供しています。
このガイドでは、ADT CLI を Jenkins またはその他のパイプラインと統合するための一般的なワークフローを説明します。
新しいゲームバージョンを作成する
ADT Web または ADT CLI を使用して新しいゲームバージョンを作成します。
PS> ./BlackBoxCLI.exe version add --name <version name> --namespace <your game namespace> --apikey <the apikey> --game-project <G:\path\to\your_game_project_folder>
mygame ネームスペースに新しいバージョン 1.100.20.99987 を作成する方法の例を示します。
PS> ./BlackBoxCLI.exe version add --name 1.100.20.99987 --namespace mygame --apikey XXX123 --game-project G:\game\MyGame
このコマンドは <yourgame>/Config> フォルダーに Blackbox.ini ファイルを作成します。ADT Unreal SDK はそのファイルの内容を読み取り、クラッシュが発生すると ADT バックエンドに送信します。
ビルドを登録する
PDB ファイルをアップロードするために、各プラットフォームに新しいビルドを登録する必要があります。1 つのバージョンに複数のプラットフォームを含めることができます。
PS> ./BlackBoxCLI.exe build register --new --namespace <your game namespace> --apikey <the apikey> --game-project <path to gameproject> --platform-name <platform name> --platform-arch <platform architecture> --game-engine <path to engine root>
Windows 64 ビット PDB ファイルをアップロードする場合の例を示します。
PS> ./BlackBoxCLI.exe build register --new --namespace mygame --apikey XXX123 --game-project G:\game\MyGame --platform-name windows --platform-arch x64 --game-engine G:\GameEngine\UE4-425
このコマンドを実行するには Blackbox.ini ファイルが必要です。BlackBox.ini ファイルの作成方法については、このガイドの冒頭にある「新しいゲームバージョンを作成する」セクションの手順に従ってください。
このコマンドは BlackBox.ini ファイルに BuildId 情報を追加し、ADT バックエンドがビルドとシンボル情報を判断するために使用します。
ゲームをビルドする
次のステップは、この例に示すようにゲームをビルドすることです。
PS> G:\game\Engine\Build\BatchFiles\RunUAT.bat -ScriptsForProject="G:\game\MyGame\MyGame.uproject" BuildCookRun -project="G:\game\MyGame.uproject" -noP4 -clientconfig=Development -serverconfig=Development -nocompileeditor -ue4exe=UE4Editor-Cmd.exe -utf8output -platform=Win64 -build -cook -stage -package -pak -stagingdirectory=G:\output -compile -client -serverplatform=Win64 -CrashReporter -prereqs
PDB ファイルをアップロードする
このコマンドを使用して、パッケージビルドの PDB ファイルをアップロードします。
PS> ./BlackBoxCLI.exe upload --namespace <your game namespace> --apikey <the apikey> --game-project <path to gameproject> --game-engine <path to game engine root> --game-archive <path to packaged game>
パラメーターの例を示します。
PS> ./BlackBoxCLI.exe upload --namespace mygame --apikey XXX123 --game-project G:\game\MyGame --game-engine G:\game --game-archive G:\game\packaged\game\exe\dir
メタデータのアップロード(オプション)
このステップはオプションですが、実行することで ADT CLI を使用してビルドにメタデータをアップロードできます。メタデータはログファイル、パフォーマンステスト結果、自動テスト結果などです。
> ./BlackBoxCLI.exe build upload-metadata --type buildLog --namespace <your game namespace> --apikey <the apikey> --game-project G:\game\MyGame --directory <metadata dir path>
完成したパラメーターの例を示します。
> ./BlackBoxCLI.exe build upload-metadata --type buildLog --namespace mygame --apikey XXX123 --game-project G:\game\MyGame --directory G:\game\Engine\AutomationTool\Saved\Logs
Jenkins ファイルのセットアップ例
def FAILED_STAGE = "";
def CURRENT_VERSION = "";
pipeline {
agent {
node {
label 'windows-sdk'
}
}
stages {
stage('cleanup') {
steps {
bat '''
git clean -dfx
git reset --hard
'''
}
}
stage('Creating a new version') {
steps {
powershell '''
BlackBoxCLI.exe version add --name 1.100.20.99987 --namespace mygame --apikey XXX123 --game-project G:\game\MyGame
'''
}
post {
failure {
script {
FAILED_STAGE = "build";
}
}
}
}
stage('Registering a build') {
steps {
powershell '''
BlackBoxCLI.exe build register --new --namespace mygame --apikey XXX123 --game-project G:\game\MyGame --game-engine G:\game --platform-name windows --platform-arch x64
'''
}
post {
failure {
script {
FAILED_STAGE = "build";
}
}
}
}
stage('Build The Game') {
steps {
bat '''
G:\game\Engine\Build\BatchFiles\RunUAT.bat -ScriptsForProject="G:\game\MyGame\MyGame.uproject" BuildCookRun -project="G:\game\MyGame.uproject" -noP4 -clientconfig=Development -serverconfig=Development -nocompileeditor -ue4exe=UE4Editor-Cmd.exe -utf8output -platform=Win64 -build -cook -stage -package -pak -stagingdirectory=G:\output -compile -client -serverplatform=Win64 -CrashReporter -prereqs
'''
}
post {
failure {
script {
FAILED_STAGE = "build";
}
}
}
}
stage('Upload the PDB files') {
steps {
powershell '''
BlackBoxCLI.exe upload --namespace mygame --apikey XXX123 --game-project G:\game\MyGame --game-engine G:\game --game-archive G:\output\WindowsNoEditor
'''
}
post {
failure {
script {
FAILED_STAGE = "build";
}
}
}
}
stage('upload the logs file') {
steps {
powershell '''
BlackBoxCLI.exe version upload-metadata --type buildLog --namespace mygame --apikey XXX123 --game-project G:\game\MyGame --directory G:\game\Engine\AutomationTool\Saved\Logs
'''
}
post {
failure {
script {
FAILED_STAGE = "build";
}
}
}
}
}
post {
success {
script {
def message = ""
message = sh(returnStdout: true, script: 'git log -1 --pretty=%B').trim()
echo "jobName: ${JOB_NAME}"
echo "buildNumber: ${BUILD_NUMBER}"
echo "gitBranch: ${GIT_BRANCH}"
echo "buildURL: ${BUILD_URL}"
slackSend (channel: "game-pipeline", color: '36B37E', message: "<${env.BUILD_URL}console|Jenkin's Job ${env.BUILD_NUMBER}> *SUCCESSFUL* for `${env.JOB_NAME}` on branch `${env.GIT_BRANCH}` \n `${env.GIT_COMMIT}`: ${message} ")
}
}
failure {
script {
def message = ""
message = sh(returnStdout: true, script: 'git log -1 --pretty=%B').trim()
echo "jobName: ${JOB_NAME}"
echo "buildNumber: ${BUILD_NUMBER}"
echo "gitBranch: ${GIT_BRANCH}"
echo "buildURL: ${BUILD_URL}"
slackSend (channel: "game-pipeline", color: 'FF0000', message: "<${env.BUILD_URL}console|Jenkin's Job ${env.BUILD_NUMBER}> *FAILED* on Stage `${FAILED_STAGE}` \nProject: `${env.JOB_NAME}` \nBranch: `${env.GIT_BRANCH}` \nCommit: `${env.GIT_COMMIT}` \nMessage: `${message}` ")
}
}
}
}
PDB ファイルの登録またはアップロード
--editor build パラメーターを使用して PDB ファイルを登録またはアップロードする場合は、以下の手順に従ってください。
ビルドを登録する
エディタービルドまたは UE4Editor.exe を PDB ファイルとともにアップロードする場合は、--editor-build パラメーターを追加します。
PS> ./BlackBoxCLI.exe build register --new --namespace <your game namespace> --apikey <the apikey> --game-project <path to gameproject> --platform-name windows --platform-arch x64 --game-engine <path to engine root> --editor-build
エディタービルド 64 ビット PDB ファイルをアップロードする場合の例を示します。
PS> ./BlackBoxCLI.exe build register --new --namespace mygame --apikey XXX123 --game-project G:\game\MyGame --platform-name windows --platform-arch x64 --game-engine G:\GameEngine\UE4-425 --editor-build
PDB ファイルをアップロードする
--editor-build オプションを使用して、エディターの PDB 情報をアップロードすることもできます。この場合、--game-archive 引数を指定する必要はありません。
PS> ./BlackBoxCLI.exe upload --namespace <your game namespace> --apikey <the apikey> --game-project <path to gameproject> --game-engine <path to game engine root> --editor-build
パラメーターの値を定義した後の例を示します。
PS> ./BlackBoxCLI.exe upload --namespace mygame --apikey XXX123 --game-project G:\game\MyGame --game-engine G:\game --editor-build