Fluent CI CLI
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, Wasm 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.
🚚 Installation
using Deno (recommended) :
deno install -A -g -r https://cli.fluentci.io -n fluentci
using Bash (Linux/macOS) :
curl -fsSL https://cli.fluentci.io | bash
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:
- Deno 1.42 or higher. See Deno Installation for more information.
- Dagger 0.10.0 or higher. See Dagger Installation for more information.
✨ 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.14.2
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
-w, --wasm - Run pipeline as WebAssembly Module
--remote-exec - Run pipeline on remote agent
-*, --* [args] - Pass arguments to pipeline
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 remote dependencies of a pipeline
ls, list [pipeline] - List all jobs in a pipeline
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
studio - Start FluentCI Studio, a web-based user interface
project - Manage projects
📚 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.