Skip to main content

Getting Started

The RunMyJob service by puzl.cloud makes it easy to run and manage your CI runners, such as GitLab and GitHub (Job Providers), and run the Jobs. Whether you're a new user or have existing CI pipelines, this guide will help you get started.

RunMyJob operate using several foundational entities. In this section, we'll touch on each at a general level. Below is an overview illustrating the relationships and interactions among these entities:

Integrations are designed to connect your GitLab instance or GitHub organization with Puzl. One Integration scopes one team or department within your organization and enables its owner or maintainer to set up and manage runners for executing their jobs. The secure isolation ensures that each team's runners and their jobs operate independently, providing a safe and efficient environment. It allows teams to concentrate on building and running pipelines without worrying about security or interference with other teams.

The Runner Claim is your way of requesting runners within the isolated namespace created by the Integration. You specify a few requirements, and the platform takes care of the rest. It takes less than a minute to set up and run a ready-to-use runner.

A Job is the unit of work executed by a runner within your CI pipeline.

At Puzl, each job runs in an ephemeral Spike Instance that boots in seconds, offering an added layer of isolation for enhanced security.

Each Job is allocated vast CPU and memory limits, however you are only billed for the actual resources utilized, thanks to Spike Instances. This means you're charged based on cpu-seconds and memory GB-seconds consumed during the real usage, not during idle steps of the Job.

Imagine your job is cloning a repository; during this period, CPU consumption is often negligible. But when the heavy lifting starts later in this job, like compiling or executing tests, the job can seamlessly scale up its CPU usage up to many cores.

This is where Puzl offers an advantage. Even though there's a cost associated with this higher usage period, the total cost of such a job is far less compared to consistently paying for all the allocated CPU cores throughout the job's entire duration.

In contrast, when using cloud instances to run your jobs, you'd still be billed for all the allocated CPU and memory even during the idle moments of the job. Furthermore, during peak job activities, the allocated CPU cores might not suffice, slowing down your job.

You can see all your jobs and manage all your integrations and runners through the user-friendly cloud dashboard once you authorized to your Puzl account.

For those who administrate a large organization or prefer a more hands-on approach, Puzl offers access via Kubernetes API, which means that you can use kubectl command or any other Kubernetes tools. This access not only provides the flexibility of a command-line interface but also embraces the declarative Operations-as-Code approach.

An instruction on how to quickly access an API via kubectl is available in our separate user manual on integrations page of your Puzl dashboard.