Home - BredaUniversityGames/JenkinsLib GitHub Wiki

JenkinsLib

A Jenkins Shared Library for Breda University of Applied Sciences game development projects. Provides a modular, composable pipeline that supports UE5 and Visual Studio builds with multiple deployment targets.

Example Jenkinsfile

@Library('JenkinsLib') _

stages {
    perforce.sync()
    ue5.build()
    ue5.test()
    steam.deploy()
    itch.deploy()
    discord.alert()
}

Comment or uncomment modules to add or remove stages and their parameters. Each module can accept overrides for default parameter values:

stages {
    perforce.sync(P4_HOST: 'ssl:custom.host:1666')
    ue5.build(UE5_BUILD_CONFIG: 'Shipping')
    steam.deploy()
    discord.alert()
}

Documentation

Getting Started

  • Quick Start - Set up your first pipeline in 5 minutes
  • Server Setup - Jenkins server administration (plugins, security, agents)
  • Credentials - Perforce tickets, Git PATs, SSH keys, GitHub Apps

Stage Reference

Pick one module from each category. Comment out what you don't need.

Version Control (pick one)

Build (pick one)

Testing (optional, must match build engine)

Deployment (optional, any combination)

Code Review (optional)

Debug Symbols (optional)

Notifications (optional)

Reference

  • Architecture - Module system, design principles, how to extend