Project Developer

This section provides documentation, best practices, and tutorials focused on making the most of HPC resources through Jacamar CI. As such, information presented here is centered on those HPC-focused enhancements made to GitLab CI/CD. We will make ample reference to GitLab’s official documentation and strongly encourage you to look there for details not covered in these pages. For any questions on runner or server deployment, please see the administrator documentation.

Continuous Integration

Understanding the GitLab Runner is key to making full use of the GitLab CI ecosystem. These sections are targeted not just at those unfamiliar with the GitLab runner, but also at anyone who wishes to understand how the Jacamar CI enhancements will affect their CI jobs.

Guides

Guides are written to highlight general recommendations as well as potential workflows you may want to use when working with CI resources:

Title

Description

Report Build Status to GitLab/GitHub

Leverage supported APIs in conjunction with a custom script to automate pipeline reporting to an upstream repository.

Multiple GitLab Project CI Structure

Optional configurations that can assist when managing GitLab CI/CD pipelines across multiple servers.

Artifacts, Caching, and Local Storage for HPC Projects

A generic look at the differences between artifacts, caching, and local storage for CI on test HPC resources.

Manual Directory Cleanup

Example job and resources that can assist in cleaning up stateful resources generated during CI.

Utilizing Scheduler Actions

Overview of the JACAMAR_SCHEDULER_ACTIONS configuration, deployment, and examples.

Tutorials

These tutorials aim to provide a look at how one might use upstream GitLab functionality coupled with the Jacamar CI enhancements and available test resources in a self-paced manner.

Title

Description

Empowering HPC Projects with Jacamar CI and GitLab

Learn how to run workloads within containers seamlessly using Jacamar’s container run mechanisms and develop strategies for optimizing operations for HPC projects.