runner

module
v0.0.0-...-ed06f05 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 20, 2025 License: GPL-3.0

README

About

This project is a CI/CD pipeline engine similar to Jenkins. Runner is a self-contained, open-source automation server designed to facilitate various tasks, including building, testing, and deploying software.

Runner supports multiple execution environments and offers the following key features:

  • Execute build and test jobs on the host machine.

  • Run build and test jobs on a Kubernetes pod, which Runner manages by creating and destroying it as needed.

  • Execute build and test jobs on Windows and Linux QEMU virtual machines, also managed by Runner.

  • Support for multiple operating systems and architectures, including macOS, Linux, and Windows.

  • Support for Directed Acyclic Graph (DAG) pipelines.

Quick start

The Runner contains two components: Runner Server and Runner Agent.

Install Runner Server

Runner Server is the api server for Runner.

Install Runner Server by docker
docker run -p 8080:8080 cox96de/runner-server:latest

Install Runner Agent

Runner Agent is the worker for Runner. It deploys on the worker machine.

Install Runner Agent by docker
docker run cox96de/runner-agent-debian:latest --engine shell --server_url http://{your_server_ip}:8080
Install Runner Agent from source
make build_agent
./output/agent --engine shell --server_url http://{your_server_ip}:8080

Notice: replace {your_server_ip} with your server ip.

Run a pipeline

Runner provides a simple CLI to easy run a pipeline.

docker run cox96de/runner-simplecli --server http://{your_server_ip}:8080 /examples/compile_redis.yaml

Bundle Runner Server as a library(TODO)

Directories

Path Synopsis
api
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
app
executor/executorpb/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
server/dispatch
Package dispatch provides a service to dispatch jobs to the runner.
Package dispatch provides a service to dispatch jobs to the runner.
server/pipeline
Package pipeline is a helper package to create and manage pipelines.
Package pipeline is a helper package to create and manage pipelines.
cmd
Package composer contains the code to compose 3rd library client.
Package composer contains the code to compose 3rd library client.
vm
external
s3
s3/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
githubapp
app
cmd
db
dsl
resource
db
telemetry
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
tools

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL