Infraista DocsDocs
Developer toolsPipelines

Pipelines

Build, test and deploy from your repositories with a YAML file. Each job runs in a fresh container on a managed runner or on your own machines.

Pipelines runs the jobs described in .infraista/pipeline.yml in your repository on every push, pull request, schedule or manual run. Each job gets a fresh, isolated container that's removed when the job ends, and the result is reported back to the commit and pull request as a status check named infraista/<pipeline name>.

The Pipelines page listing the web-app pipeline with its repository, last run and statusThe Pipelines page listing the web-app pipeline with its repository, last run and status

How it fits together

PartWhat it is
PipelineOne repository and one pipeline file. A repository can have several pipelines
Stages and jobsStages run in order; the jobs in a stage run in parallel
StepsShell commands (run:) or built-in actions (uses: infraista/checkout@v1)
RunnersManaged runners (billed per minute) or your own self-hosted machines (free)
Secrets & variablesValues your jobs read, for the organization, the pipeline or one environment
EnvironmentsWhere you deploy (staging, production), with approvals and other rules
Deploy targetsServers, registries and cloud accounts a pipeline can deploy to by name

Where to go next

Create a pipeline

Connect GitHub, GitLab or Bitbucket, pick a repository and a starting point, review the pipeline file and save it as a commit, a pull request or a draft.

Pipeline file reference

Every key of .infraista/pipeline.yml, from triggers, inputs and stages to jobs, steps, conditions, built-in variables and the options of each built-in action.

Runs and logs

Follow a pipeline run job by job, read and search its logs, re-run failed jobs, cancel a run, and see results on your commits and pull requests.

Triggers

Start pipeline runs on pushes, pull requests, tags, a schedule, by hand with inputs, from another system's webhook, or when another pipeline finishes.

Secrets and variables

Store API keys, passwords and settings for your pipelines per organization, pipeline or environment, use them in the file, and edit them as a .env file.

Environments and deployments

Protect production with approvals, allowed branches, wait timers and deploy windows, see every deployment, and roll an environment back to an earlier run.

Deploy targets

Connect the servers, agents, registries and cloud accounts your pipelines deploy to once, then name them in any pipeline in your organization.

Pipeline settings

Change a pipeline's name, file path, default runner and timeout, cancel outdated runs, report status checks, add a status badge, and pause or delete it.

Runners and billing

Choose the machine size for each job, and see how managed runner minutes, free minutes, concurrency and cache and artifact storage are billed and kept.

Self-hosted runners

Run pipeline jobs at no charge on your own Linux machines or Docker hosts, such as office servers and GPU workstations, with labels and groups.

On this page