Crates.io | micro-ci |
lib.rs | micro-ci |
version | 0.1.1 |
source | src |
created_at | 2019-09-19 19:50:53.817769 |
updated_at | 2019-09-19 20:05:15.305373 |
description | Tiny self-hosted CI with minimal requirements |
homepage | |
repository | https://github.com/boringcactus/micro-ci |
max_upload_size | |
id | 166051 |
size | 86,162 |
Tiny self-hosted CI with minimal requirements.
cargo install micro-ci
or yoink a Linux binary of the
latest release.
Global configuration on the server goes in micro-ci.toml
in the config_dir()
found by
dirs
Get yourself a GitHub access token here. Make sure you
can serve static files over HTTP from some directory to some URL - in the use case for which
I'm developing this, I can toss files in ~/public_html
and they're public. micro-ci will
make a subfolder for each project you build with it, so I've got it pointed at
~/public_html/ci
.
github_token = "asdfghjkl"
web_root_path = "/path/to/folder"
web_root_url = "https://example.com/url/for/same/folder"
fetch_interval = 60 # measured in seconds
Local (per-repository) configuration goes in .micro-ci.toml
at the same level where your
command should be run. Command will be run with bash -c <command> 2>&1
so either be concise
or write a helper script. (This probably means micro-ci doesn't work as well on Windows.)
github_repo = "boringcactus/micro-ci"
command = "cargo test"
For each repository you want to use micro-ci to test:
micro-ci
in the folder where .micro-ci.toml
lives and your test script should be runmicro-ci
always run tests on the current commit, run micro-ci --run-now
RUST_LOG=micro_ci=debug