220 words
1 minute
Companion script for ue4-docker image builds

I made this Powershell script to easily handle building my docker images for Unreal Engine since I now make an image for every engine release

param( [Parameter(Mandatory=$true, HelpMessage="Engine version to build")] [string]$version, [Parameter(HelpMessage="The repo you want to push your image to (OPTIONAL)")] [string]$repo, [Parameter(HelpMessage="If specified, will clean all of the build images for the version specified in the variable version")] [switch]$clean, [Parameter(HelpMessage="If specified, will tag your image with repo:version and push it")] [switch]$push, [Parameter(Mandatory=$true, HelpMessage="Github user that has access to the Unreal Engine repo")] [string]$user, [Parameter(Mandatory=$true, HelpMessage="Github PAT for the user specified in user")] [string]$token ) if ($clean.IsPresent) { Write-Host "Cleaning old build images for tag $($version)"; ue4-docker clean -tag $version; } else { Write-Host "Skipped cleaning of old build images"; } Write-Host "Building Unreal Engine version: $($version)."; ue4-docker build $version -username $user -p $token --exclude debug --exclude templates --monitor --opt buildgraph_args="-set:GameConfigurations=Shipping;DebugGame;Development -set:HostPlatformOnly=true -set:WithClient=false -set:WithServer=false" --visual-studio=2022; if ($push.IsPresent) { $docker_tag = "$($repo):$($version)"; Write-Host "Creating tag for $($docker_tag)"; docker tag adamrehn/ue4-full:$($version) "$($docker_tag)"; docker push "$($docker_tag)"; } else { Write-Host "Skipped cleaning of old build images"; }

Let’s go over the basic usage

  • user - github username
  • token - github PAT
  • version - version of the engine to build
  • repo - optional, add this if you want to tag the image
  • clean - optional, clean the existing docker build data
  • push - optional, pushes the image tagged as repocombo
Companion script for ue4-docker image builds
https://edwardbeazer.com/posts/companion-script-for-ue4-docker-image-builds/
Author
Edward Beazer
Published at
2023-08-24