Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
@pipelight
pipelight
Follow
View pipelight's full-sized avatar
🎯
Focusing

Pipelight pipelight

🎯
Focusing
Tiny automation pipelines.

Block or report pipelight

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more aboutblocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more aboutreporting abuse.

Report abuse
pipelight/README.md

pipelight_logo

Pipelight - Tiny automation pipelines.

Automate your most boring and repetitive tasks.

📦 A lightweight tool for CICD

Pipelight is aRust based small(13Mb) cli tool tobe used from inside a terminal.

  • Define pipelines usingtoml, hcl, yaml, typescript.
  • Trigger on events: git hooks, file changes...

Checkout theDocumentation for a much friendlier approachand a deeper understanding.

Usage example

pipelight_demo

Define pipelines with a configuration language

Fold your bash commands into an objectPipeline{ Step{ Command }}.

Use your preferred configuration languages for your most simple pipelines.

  • Toml

    [[pipelines]]name ="test"[[pipelines.steps]]name ="build"commands = ["pnpm install","pnpm build"][[pipelines.triggers]]branches = ["master","dev"]actions= ["pre-push","pre-commit"]
  • Hcl

    # A pipelinepipelines=[{  name="test"  steps= [{    name="build"    commands= ["pnpm install","pnpm build"]  }]  triggers= [{    branches= ["master","dev"]    actions= ["pre-push","pre-commit"]  }]}]
  • Yaml

    pipelines:  -name:teststeps:      -name:buildcommands:          -pnpm install          -pnpm build  -triggers:      -branches:          -master          -devactions:          -pre-push          -pre-commit

Define pipelines with a programming language.

Fold your bash commands into an objectPipeline{ Step{ Command }}.

As long as you know javascript,you are ready to go with your favorite syntax flavor.

  • Javascript. Use a verbose and declarative syntax.

    constmy_pipeline={name:"build_my_website",steps:[{name:"clean directory",commands:["rm -rf ./dist"],},{name:"build",commands:["pnpm install","pnpm lint","pnpm build"],},],};
  • Typescript(with Helpers). Use the provided sweet shorthands.

    constmy_pipeline=pipeline("build website",()=>[step("clean directory",()=>[`rm -rf${build_dir}`]),step("build",()=>["pnpm install","pnpm lint","pnpm build"]),step("send to host",()=>[`scp -r${build_dir}`]),step("do stuffs on host",()=>[ssh("host",()=>["systemctl restart nginx"]),]),]);

🤖 Automatic triggers

Add automatic triggers to your pipeline.

If you want to run tests on file change or deploy to production on push to master.

# enable watcher and git hooks.pipelightenable git-hookspipelightenable watcher
[[pipelines.triggers]]branches = ["master"]actions = ["pre-push"]

🫦 Pretty and verbose logs

Get the pipeline most relevant informations or dive into the steps and commandsstandard outputs.

Get the pipeline status, event, execution time... and more.

pipelight logs

pretty logs

Get a tranparent outputs of every subprocesses.

pipelight logs -vvvv

pretty logs

🛠️ Install

Checkout theinstruction guide for yourfavorite package manager.

🚀 Get started!

Create a default configuration filepipelight.ts in your project rootdirectory with:

pipelight init

Try the harmless default pipeline:

pipelight run

And explore logs:

pipelight logs -vvvv

Community

Reach the community whenever you need support or software improvements. Ondiscord or on telegram at@Areskul or send a mail atareskul@areskul.com.

Licensed under GNU GPLv2 Copyright (C) 2023 Areskul

PinnedLoading

  1. pipelightpipelightPublic

    Tiny automation pipelines. Bring CI/CD to the smallest projects. Self-hosted, Lightweight, CLI only.

    Rust 680 18

  2. bouletteboulettePublic

    A terminal confirmation prompt that prevents you from accidentally damaging remote hosts.

    Rust 159 2

  3. nixos-tidynixos-tidyPublic

    Nix functions to create sharable, flexible and standardized Nixos configurations.

    Nix 65 1


[8]ページ先頭

©2009-2025 Movatter.jp