Skip to content
/ lurch Public

Simple CI/CD without database or any dependency

License

Notifications You must be signed in to change notification settings

tvrzna/lurch

Repository files navigation

lurch

Simple CI/CD without database or any dependency

Usage

Usage: lurch [options]
Options:
	-h, --help			print this help
	-v, --version			print version
	-t, --path [PATH]		absolute path to work dir
	-p, --port [PORT]		sets port for listening
	-a, --app-url [APP_URL]		application url (if behind proxy)
	-n, --name [NAME]		name of application to be displayed
	-sj, --start-job [PROJECT]	makes client call to origin server and starts the build of [PROJECT]

How to setup project

  1. In workdir create a folder with name that represents the project.
  2. In created folder create script.sh and add execute permission to it. Or for Windows create script.cmd.
  3. Create your shell script with some content e.g.
#!/bin/sh -e

git clone repository ./

make test

make clean build

scp target/build server:/opt/www

rm -rf .git/
  1. Open lurch in browser and start the job.

Start build from script of different project

Inside your project build script call lurch with parameter -sj followed by project name. If build is started, the result code of lurch -sj is 0, otherwise it is 1.

#!/bin/sh -e

git clone repository ./

make clean build

/usr/bin/lurch -sj repository-deploy

Roadmap

  • Core (0.1.0)
  • REST API (0.1.0)
  • Web UI (0.1.0)
  • Build parameters passed as environmentals (0.2.0)
  • Hide dot project (e.g. .ignored-project) (0.3.0)
  • Dark theme (0.3.0)
  • Custom name of application (0.3.0)
  • Synchronization of UI via WebSockets
  • Periodical watcher (running custom script saving state of last check)
  • Pipelining (jobs started according the result status)
  • Starting build from build script
  • Size and existance of artifact