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.5.tar.gz (46.6 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.5-py3-none-any.whl (66.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: t1cicd-0.1.5.tar.gz
  • Upload date:
  • Size: 46.6 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.5.tar.gz
Algorithm Hash digest
SHA256 c921874084d7a3b23707c6a2238083e1ed4aad4bf641db74fa0e989af2c2f5b7
MD5 fed4f857a33e032785e4d9fc287d3f08
BLAKE2b-256 3f4b5204658c68d9643d1c6fbdc3c6aeb2ce89b2be6a04e878b11ef937b19a35

See more details on using hashes here.

File details

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

File metadata

  • Download URL: t1cicd-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 66.8 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 b65b80aa22bb371d8225dc8725e68ecf350c73649dc94f64a0898997bc37c495
MD5 504c0ef84c842ad585f7c7aadc2565f2
BLAKE2b-256 2753111a7a9edf87f808edf3fa609cad8acdb2a5b86264471f3eb2a2c0f227a5

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