Skip to content

Game development pipeline (versioning, authentication, automatic build...) on self-host infrastructure.

License

Notifications You must be signed in to change notification settings

wesley-petit/game-production-pipeline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Game production pipeline

User documentationAdmin documentationLicenseContact

Documentation hub to install and configure a game development pipeline (versioning, authentication, automatic build...) on self-host infrastructure.

Table Of Contents

Why

This repository serves as a centralized hub for documentation, capturing the setup and configuration processes for our game development pipeline. It's designed to store comprehensive guides on versioning, authentication, automated builds, and other critical components, referencing official documentation to ensure accuracy and reliability. By documenting our configurations, we ensure consistency and facilitate easy replication for future setups or sharing with friends interested in similar projects.

About The Project

We want our users to submit a change, create a review and have it trigger a build.
Game pipeline

For our pipeline, we will install several services :

  • Portainer : User-friendly Docker container management tool with a web-based interface.
  • Nginx Proxy Manager : User-friendly interface of a reverse proxy to expose your services easily and securely.
  • Helix Core : Version control and collaboration platform widely used for managing source code and digital assets.
  • Helix Authentication Service : Provides authentication and authorization services for securing access to Perforce applications.
  • Helix Swarm : Code review and collaboration platform integrated with Helix Core.
  • Helix Digital Asset Management : Solution for managing and versioning digital assets in a collaborative development environment.
  • Grafana : Open-source platform for creating interactive and customizable dashboards to visualize time-series data.
  • Prometheus : Open-source monitoring toolkit designed for collecting and processing time-series data.
  • Node Exporter : Prometheus exporter that collects system-level metrics from Linux/Unix hosts, providing valuable insights into CPU, memory, disk, and network usage.
  • Jenkins : Open-source automation server used for building, testing, and deploying software with support for continuous integration and delivery.

Screenshots

Portainer Interface P4V Interface

Helix Swarm Web Page Grafana Metrics Dashboard

Nginx Proxy Manager Web Page

System

Requirements

⚠️ For the moment, this guide has only been tested on Helix Products versions 2024.1.

In these guide, we install all our services on one server due to lack of resources, but our documentation offers instructions for installing and connecting services in a game development pipeline, without imposing a specific infrastructure setup. Users have the freedom to deploy services on one machine or across multiple servers, enabling them to customize their infrastructure according to their preferences and requirements.

To date, we have tested and operated our pipeline on :

  • OS : Debian 11
  • Processor :
  • Memory : 16G
  • Hard Disk : 200GB

The recommended configuration is :

  • Processor : 2.4GHZ 8-Core or 3.2GHZ 4-Core
  • Memory : 8GO
  • Hard Disk : 64GB

You can consult the official hardware requirements for each service :

Containers Overview

Here is a list of all the containers that can be installed in this guide :

Service Name Public Ports
Nginx Proxy Manager ✔️
  • Web - 80 - TCP
  • Web Admin - 81 - TCP
  • Web - 443 - TCP
  • Helix Core - 1666 - TCP
Helix Core ✔️
  • Helix Core - 1666 - TCP
Helix Authentication Service ✔️
  • Web - 3000 - TCP
Helix Swarm ✔️
  • Web - 80 - TCP
  • Web - 443 - TCP
Portainer ✔️
  • Web Admin - 9443 - TCP
Grafana ✔️
  • Web Admin - 4000 - TCP
Prometheus ✔️
  • Web Admin - 9090 - TCP
Node Exporter
  • Scrap Metrics - 9100 - TCP
Redis Server
  • Webdis - 7379 - TCP

Installation

ℹ️ We also provide an user installation guide to install P4V Client and how to use Helix Swarm.

  1. Follow Docker and Portainer installation guide.
  2. (Optional) If you want to enhances security and reliability of the web server (force https, authentication on admin website...), follow the Nginx Proxy Manager installation guide.
  3. Follow Helix Core installation guide.
  4. Follow Helix Authentication installation guide.
  5. Follow Helix Swarm installation guide.
  6. Follow Grafana and Prometheus installation guide.

License

Distributed under the Apache-2.0 License. See LICENSE for more information.

Contact

About

Game development pipeline (versioning, authentication, automatic build...) on self-host infrastructure.

Topics

Resources

License

Stars

Watchers

Forks