All Projects â†’ skymapgames â†’ Jenkins Ue4

skymapgames / Jenkins Ue4

Automated Unreal Engine 4 Project Builds

Projects that are alternatives of or similar to Jenkins Ue4

Slacky
🐍 The BEST Slack Selfbot on GitHub | No Bot User, Acts Like It's You! ⭐️
Stars: ✭ 80 (-61.17%)
Mutual labels:  automation, slack
Slack Autoarchive
If there has been no activity in a channel for awhile, you can automatically archive it using a cronjob.
Stars: ✭ 97 (-52.91%)
Mutual labels:  automation, slack
Rocket.chat.ansible
Deploy Rocket.Chat with Ansible!
Stars: ✭ 80 (-61.17%)
Mutual labels:  automation, slack
Diun
Receive notifications when an image is updated on a Docker registry
Stars: ✭ 704 (+241.75%)
Mutual labels:  automation, slack
Norrisbot
a Slack bot that kicks asses (roundhouse-kicks to be accurate...)
Stars: ✭ 134 (-34.95%)
Mutual labels:  tutorial, slack
Chef Plugin
This is jenkins plugin to run chef-client on remote host
Stars: ✭ 38 (-81.55%)
Mutual labels:  automation, jenkins
Pybuilder
Software build automation tool for Python.
Stars: ✭ 1,290 (+526.21%)
Mutual labels:  automation, build-automation
Jenkins Bootstrap Shared
Jenkins as immutable infrastructure made easy. A repository of shared scripts meant to be used as a git submodule. Packing Jenkins, plugins, and scripts into immutable packages and images.
Stars: ✭ 270 (+31.07%)
Mutual labels:  automation, jenkins
Docker Jenkins Django Tutorial
實戰 Docker + Jenkins + Django + Postgres 📝
Stars: ✭ 129 (-37.38%)
Mutual labels:  tutorial, jenkins
Ci Matters
Integration (comparison) of different continuous integration services on Android project
Stars: ✭ 119 (-42.23%)
Mutual labels:  automation, jenkins
Unity Build
A powerful automation tool for quickly and easily generating builds of a game with Unity.
Stars: ✭ 483 (+134.47%)
Mutual labels:  automation, build-automation
Zeus
An Electrifying Build System
Stars: ✭ 176 (-14.56%)
Mutual labels:  automation, build-automation
Invoke Build
Build Automation in PowerShell
Stars: ✭ 453 (+119.9%)
Mutual labels:  automation, build-automation
Gatus
⛑ Gatus - Automated service health dashboard
Stars: ✭ 1,203 (+483.98%)
Mutual labels:  automation, slack
Pokemongo Bot
The Pokemon Go Bot, baking with community.
Stars: ✭ 3,730 (+1710.68%)
Mutual labels:  automation, slack
Metasearch
Search aggregator for Slack, Google Docs, GitHub, and more 🔍
Stars: ✭ 81 (-60.68%)
Mutual labels:  slack, jenkins
gitlabci-ue4
No description or website provided.
Stars: ✭ 32 (-84.47%)
Mutual labels:  build-automation, unreal-engine-4
cheat-sheet-pdf
📜 A Cheat-Sheet Collection from the WWW
Stars: ✭ 728 (+253.4%)
Mutual labels:  slack, jenkins
30 Days Of Python
Learn Python for the next 30 (or so) Days.
Stars: ✭ 1,748 (+748.54%)
Mutual labels:  automation, tutorial
Ci Detector
Detect continuous integration environment and get information of current build
Stars: ✭ 138 (-33.01%)
Mutual labels:  build-automation, jenkins

Jenkins CI Automation for Unreal Engine 4 Projects

This tutorial and repository provides documentation and resources on how to configure a Jenkins CI installation to build and compile an Unreal Engine 4 project.

Created by Zack Devine for Skymap Games.


Prerequisites

Before you begin: This documentation is solely meant for Jenkins running on Windows servers and desktops. This may also work on GNU/Linux build servers, however the included build scripts have only been tested for Windows installations.

To get started, please first download and install Jenkins on the computer you wish to use as a build server. (Jenkins Installation Docs)

Clone (or download) this repository to your CI server to access the required build files for the final steps of the tutorial.

You will also need to download cURL (only if posting notifications to Slack), Unreal Engine 4, as well as install MSBuild v14.0.


Step 1: Create a new Jenkins Project

This first step is pretty straightforward. Once Jenkins is configured, start by creating a new Freestyle project.

General

Under General > Advanced check Use custom workspace and put the directory on the root of your drive, to prevent issues with long filenames during the build. Something like C:\Source\<project name> or similar should do the job.

Source Code Management

Set up your source control repository as normal.

Build Triggers

For our configuration, we poll the SCM every 3 minutes for changes, and build only if a certain keyword is present in the commit message. To do so, enter H/3 * * * * within the Schedule textbox. To trigger on commit messages, scroll back up to Source Code Management, click Advanced, and under Excluded Commit Messages enter ^((?!KEYWORD).)*$, replacing KEYWORD with your own keyword to check for.


Step 2: Configure Build Scripts

Locate the directory where you downloaded the build scripts to. If you plan on posting to a Slack channel during the build process, you will need to configure an incomming webhook integration, and replace WEBHOOK_URL with the URL of the integration in PostToSlack.bat.

In each of the build scripts, make sure to replace PROJECT_NAME with the name of your project.


Step 3: Add Build Steps to your Jenkins Project

Finally, add the build commands to Jenkins. At this point, you should have the build scripts somewhere on your server. Take note of the directory they reside in. For our setup, we post to a Slack channel during each step of the build. If you would also like to do this, make sure to include the PostToSlack.bat files during each step, as laid out below:

Make sure to replace C:\path\to\scripts\ with the actual path of your build scripts!

Build Step 1
call C:\path\to\scripts\PostToSlack.bat "✔️ Starting %JOB_NAME% Build -- Revision %SVN_REVISION%"
"C:\path\to\scripts\Step1_StartBuild.bat"
Build Step 2
call C:\path\to\scripts\PostToSlack.bat "⚙️ Compiling game scripts..."
"C:\path\to\scripts\Step2_CompileScripts.bat"
Build Step 3
call C:\path\to\scripts\PostToSlack.bat "🔨 Building project files..."
"C:\path\to\scripts\Step3_BuildFiles.bat"
Build Step 4
call C:\path\to\scripts\PostToSlack.bat "🔥 Cooking project..."
"C:\path\to\scripts\Step4_CookProject.bat"
Build Step 5 (Optional - Used to archive UE4 build)
call C:\path\to\scripts\PostToSlack.bat "📦 Archiving build..."
C:\path\to\scripts\Step5_Archive.bat "%SVN_REVISION%"
Build Step 6 (Optional - Notifies in Slack when project is complete)
C:\path\to\scripts\PostToSlack.bat "🎉 Done!"

...and that should be it! Feel free to run a test build to see if everything builds and compiles correctly. The first build will take longer than normal, as Jenkins has to download all of the files from the repository specified.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].