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
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