Code Monkey home page Code Monkey logo

game-production-pipeline's Introduction

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

game-production-pipeline's People

Contributors

wesley-petit avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.