Fluent CI CLI

FlakeHub flakestry.dev deno module deno compatibility discord

Made with VHS

Fluent CI is a CI/CD tool that allows you to build, test, and deploy your code. It is a self-hosted solution built on top of Dagger and Deno, can be run locally or on a server, and is completely free and open-source.

It is also a registry of pre-built pipelines. This means you don't have to write your CI/CD configuration from scratch. You can simply search for and use pipelines that others have already built for frameworks like Django, React, Node, etc.


DevHunt - Tool of the Week 

🚚 Installation

using Deno (recommended) :

deno install -A -r https://cli.fluentci.io -n fluentci

using Bash (Linux/macOS) :

curl -fsSL https://cli.fluentci.io | sh

using Homebrew :

brew install fluentci-io/tap/fluentci

using Pkgx :

pkgx install fluentci

using Nix :

nix profile install --experimental-features "nix-command flakes" github:fluentci-io/fluentci

using Docker :

docker run --privileged \
-v /var/run/docker.sock:/var/run/docker.sock \
-it ghcr.io/fluentci-io/cli:latest run base_pipeline

Or download the binary from the releases page and add it to your PATH.

Requirements:

✨ Quick Start

Setup a new pipeline in your current directory and run it by using the following commands:

fluentci init # Initialize a new pipeline in the current directory
fluentci # Run the pipeline

🚀 Usage

fluentci --help

Usage:   fluentci [pipeline] [jobs...]
Version: 0.12.9 

Description:

  .                                                                                    
      ______              __  _________                                                
     / __/ /_ _____ ___  / /_/ ___/  _/                                                
    / _// / // / -_) _ \/ __/ /___/ /                                                  
   /_/ /_/\_,_/\__/_//_/\__/\___/___/                                                  
                                                                                       
  FluentCI CLI - An Open Source CI/CD tool written in TypeScript (Deno) based on Dagger

Options:

  -h, --help     - Show this help.                            
  -V, --version  - Show the version number for this program.  
  -r, --reload   - Reload pipeline source cache               

Commands:
  
  run            <pipeline> [jobs...]  - Run a pipeline
  init           [pipeline-name]       - Initialize a new pipeline                 
  search         <query>               - Search for reusable pipelines             
  upgrade                              - Upgrade FluentCI CLI to the latest version
  cache          <pipeline>            - Cache and compile remote dependencies of a pipeline
  ls, list       [pipeline]            - List all jobs in a pipeline               
  gh, github                           - GitHub Actions integration                
  gl, gitlab                           - GitLab CI integration                     
  cci, circleci                        - CircleCI integration                      
  ap, azure                            - Azure Pipelines integration               
  ac, aws                              - AWS CodePipeline integration  
  docs, man      [pipeline]            - Show documentation for a pipeline
  doctor                               - Check if FluentCI CLI is installed correctly
  env                                  - Show environment variables (read from .fluentci/.env file)
  login                                - Login to FluentCI                                         
  publish                              - Publish a pipeline to FluentCI Registry                   
  agent                                - Start FluentCI Runner Agent 
  whoami                               - Show current logged in user
  repl           [pipelines...]        - Start FluentCI REPL   

🧑‍💻 FluentCI REPL

Made with VHS

📚 Documentation

View the full documentation

🤝 Contributing

We would love to hear your feedback or suggestions. The best way to reach us is on Discord.

We also welcome pull requests into this repo. See CONTRIBUTING.md for information on setting up this repo locally.