Skip to main content

No project description provided

Project description

T1-CICD

High-Level Design

High-Level Design

Sequence Diagram

Pipeline Run

sequence_diagram_pipeline_run

Pipeline Cancel

sequence_diagram_pipeline_run

Pipeline Report

sequence_diagram_pipeline_run

Components

Components README
CLI Design Doc
Rest API Design Doc
Orchestrator Design Doc
PostgreSQL Design Doc
Docker Server Design Doc

CLI

CLI provides the interface to use our CICD system. It supports users to upload a custom pipeline yaml file, to run the pipeline, cancel the pipeline and get pipeline reports.

CLI runs on user's host. CLI only communicates with RestAPI. CLI send requests and receives responses through flask apis.

Rest API

Rest API receives CLI's request and process the data for function calls to let the orchestrator run pipelines or get reports from the database.

RestAPI can run on user's host for local run, or run on a remote server. RestAPI communicates with CLI, Orchestrator and PostgreSQL.

  • For communication with CLI, RestAPI receives requests and sends requests through flask apis.
  • For communication with Orchestrator, for now we implement them in one host, so RestAPI will use function calls to execute functions in Orchestrator; While RestAPI and Orchestrator can also be in different hosts, and in this case they can communicate via a message queue, and RestAPI will push the processed request from CLI to the message queue, and Orchestrator will get the processed request from the queue.
  • For communication with PostgreSQL, RestAPI will GET reports from the database. We have implemented apis to call DB functions.

Orchestrator

Orchestrator is the main part for CICD RUN. It parses user's pipeline config files, stores all processed data to the database, controls the order of running pipelines, and creates Docker containers to run jobs. For now it supports running multiple pipelines in serial. In one pipeline, stages run in serial, and jobs without dependencies run in parallel.

Orchestrator can run on user's host for local run, or run on the same remote server as Rest API, or run on another server. Orchestrator communicates with PostgreSQL and Docker Server.

  • For communication with PostgreSQL, the orchestrator POST parsed pipelines and update all status to the Database.
  • For communication with Docker Server, the orchestrator use Docker APIs to create and run containers.

PostgreSQL

We use PostgreSQL for data storage.

PostgreSQL Server can run on user's host for local run, or run on a remote server.

Docker Server

We use Docker to run containers.

Docker Server can run on user's host for local run, or run on a remote server. Docker communicates with Orchestrator that returns logs and run responses back to Orchestrator.

Getting Started

If you want to use our CICD system, follow this User Guide.

If you want to build and develop on our CICD system, follow this Developer Guide.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

t1cicd-0.1.7.tar.gz (45.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

t1cicd-0.1.7-py3-none-any.whl (65.5 kB view details)

Uploaded Python 3

File details

Details for the file t1cicd-0.1.7.tar.gz.

File metadata

  • Download URL: t1cicd-0.1.7.tar.gz
  • Upload date:
  • Size: 45.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.0 Darwin/23.6.0

File hashes

Hashes for t1cicd-0.1.7.tar.gz
Algorithm Hash digest
SHA256 7a3c5511f9411d6e2e097a5c2053b2fb279fd95bebb5e9c3ac6b4609898d1aa2
MD5 f2ac1fff5ec57e68d83abc49b7d2d819
BLAKE2b-256 beeead9d560017e2580d64dd60f39169e4188c3e55af26b1700abb625dd64cc0

See more details on using hashes here.

File details

Details for the file t1cicd-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: t1cicd-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 65.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.0 Darwin/23.6.0

File hashes

Hashes for t1cicd-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 4e28105dd78d1051fe5a286713f9e6581262eeb3a519c4a47fd419d16c3e9f07
MD5 50b0c8dae0177d8a62496efb7d63d79d
BLAKE2b-256 473ad4f7e28a9f037ff08e64d359bd8939871f678c4760ac6c82186cd54fd06c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page