Skip to content

caravel-tool/caravel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation






Caravel: Deliver simple things, with simplicity.

Caravel is a tool (still in early development) to help devs publish and update code at production servers.

The idea is simple: Small projects (such as simple Node apps or static websites) doesn't consume lot's of resources in order to build. So instead of hiring CI/CD paid plans or wasting time building robust config stacks, devs can make use of their own VPS to build and publish updates.

Installation

As of today Caravel only supports being compiled from source. In the future, binaries will be released for Linux.

Make sure you have git, SQLite and Crystal.

Installing git and SQLite (Ubuntu):

apt-get install git-core sqlite3 

Installing Crystal (Ubuntu):

curl -sSL https://dist.crystal-lang.org/apt/setup.sh | sudo bash

And then:

sudo apt install crystal

If you face any issues, please read this guide.

Then you can build the project:

cd caravel/
crystal build src/caravel
sudo cp ./caravel /usr/local/bin

Now you can check if Caravel is available by running:

caravel help

Usage

In order to use Caravel you first need a recipe file.

Recipes

Caravel always looks for a caravel.yml file when run on a directory.

Here is a minimal example of a config file (also called recipe):

name: your-repo
repo: git@github.com:you/your-repo
trigger: tag
run:
  - npm install
  - npm run build
  - cp -R dist /www/var/html/

Once you have a recipe, you can call Caravel with the command:

caravel start

More details on recipes soon.


This README is still in work.