All Projects → fallenhitokiri → Leeroyci

fallenhitokiri / Leeroyci

Licence: mit
Leeroy is a self hosted, continuous integration and build service

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Leeroyci

Cimonitor
Displays CI statuses on a dashboard and triggers fun modules representing the status!
Stars: ✭ 34 (-59.52%)
Mutual labels:  ci, continuous-integration, continuous-deployment
Bzppx Codepub
暴走皮皮虾之代码发布系统,是现代的持续集成发布系统,由后台管理系统和agent两部分组成,一个运行着的agent就是一个节点,本系统并不是造轮子,是"鸟枪"到"大炮"的创新,对"前朝遗老"的革命.
Stars: ✭ 471 (+460.71%)
Mutual labels:  ci, continuous-integration, continuous-deployment
flagsmith-nodejs-client
Flagsmith Node JS Client. Flagsmith lets you manage features flags across web, mobile and server side applications. Get builds out faster. Control who has access to new features.
Stars: ✭ 13 (-84.52%)
Mutual labels:  continuous-integration, ci, continuous-deployment
landkid
Your friendly neighborhood async merging robot goat.
Stars: ✭ 80 (-4.76%)
Mutual labels:  continuous-integration, ci, continuous-deployment
Simpleci
Simple docker-based continuous integration system
Stars: ✭ 61 (-27.38%)
Mutual labels:  ci, continuous-integration, continuous-deployment
swarmci
Swarm CI - Docker Swarm-based CI system or enhancement to existing systems.
Stars: ✭ 48 (-42.86%)
Mutual labels:  continuous-integration, ci, continuous-deployment
Alloy ci
Continuous Integration, Deployment, and Delivery coordinator, written in Elixir.
Stars: ✭ 274 (+226.19%)
Mutual labels:  ci, continuous-integration, continuous-deployment
ofcourse
A Concourse resource generator
Stars: ✭ 41 (-51.19%)
Mutual labels:  continuous-integration, ci, continuous-deployment
Abstruse
Abstruse is a free and open-source CI/CD platform that tests your models and code.
Stars: ✭ 704 (+738.1%)
Mutual labels:  ci, continuous-integration, continuous-deployment
Flubucore
A cross platform build and deployment automation system for building projects and executing deployment scripts using C# code.
Stars: ✭ 695 (+727.38%)
Mutual labels:  build-automation, continuous-integration, continuous-deployment
Haiku
🚀 Instant Heroku deploys from GitHub branches
Stars: ✭ 17 (-79.76%)
Mutual labels:  ci, continuous-integration, continuous-deployment
Flow Core X
Powerful and user-friendly CI / CD server with high availability, parallel build, agent scaling
Stars: ✭ 1,108 (+1219.05%)
Mutual labels:  build-automation, ci, continuous-integration
www.go.cd
Github pages repo
Stars: ✭ 39 (-53.57%)
Mutual labels:  continuous-integration, ci, continuous-deployment
setup-scheme
Github Actions CI / CD setup for Scheme
Stars: ✭ 13 (-84.52%)
Mutual labels:  continuous-integration, ci, continuous-deployment
build-plugin-template
Template repository to create new Netlify Build plugins.
Stars: ✭ 26 (-69.05%)
Mutual labels:  continuous-integration, ci, continuous-deployment
Android-CICD
This repo demonstrates how to work on CI/CD for Mobile Apps 📱 using Github Actions 💊 + Firebase Distribution 🎉
Stars: ✭ 37 (-55.95%)
Mutual labels:  continuous-integration, ci, continuous-deployment
Buildhelpers
Helper functions for PowerShell CI/CD scenarios
Stars: ✭ 174 (+107.14%)
Mutual labels:  build-automation, continuous-integration, continuous-deployment
maestro
Faster CI/CD for multi-artifact projects
Stars: ✭ 13 (-84.52%)
Mutual labels:  continuous-integration, build-automation, continuous-deployment
Drone
Drone is a Container-Native, Continuous Delivery Platform
Stars: ✭ 24,287 (+28813.1%)
Mutual labels:  build-automation, ci, continuous-integration
Gocd
Main repository for GoCD - Continuous Delivery server
Stars: ✭ 6,314 (+7416.67%)
Mutual labels:  ci, continuous-integration, continuous-deployment

Leeroy CI

Leeroy is a self hosted, continuous integration, build and deployment service. It is designed to be easy to setup and will not require an additional ops person to keep running. It runs on your own server, so you can create the test environment you want, exactly mirroring production, without having to trust anyone else to keep your source code or eventually database images with sensitive information safe.

Leeroy

Integrations

Currently Leeroy plays nicely with GitHub. An integration for GitLab is current WIP, BitBucket should be supported before the first release.

Features

  • self hosted
  • bring your own build / test scripts
  • comment on GitHub pull requests
  • close GitHub pull requests if the build for HEAD fails
  • send notifications about the build via email
  • post results to a Slack, Campfire or HipChat channel
  • see all builds on an acceptable designed - read bootstrap - webinterface
  • continuous deployment using your own deployment scripts - deploy to whichever environment you want.
  • search for branches, commits and repositories

Quickstart

For now please check out the master branch of this repository and run it via go run leeroy.go. Binaries will be available with the first stable release. Master can be considered production ready. Development is used by people who want to have the latest features and can accept if smaller problems show up, but the goal is to keep it stable, too.

Build Script

Before you start make sure you have a script that is able to run tests for your repository. Two arguments are passed to your build script, the repository URL (first argument) and the branch name (second argument) to which was pushed. Let us use a really simple one for now

 #! /bin/bash
 ls

We assume this script is saved in /home/ec2-user/test.sh. See docs/buildscripts.md for more information and sample scripts.

Configuration

To set the path for the SQLite database you can use the environment variable DATABASE_URL. The format is sqlite3 /path/to/leeory.sqlite3.

Once Leeroy is running go to port 8082 in your web browser and click through the setup assistant. The user you create will automatically be an administrator. If you add an SSL certificate you have to restart Leeroy after completing the setup.

To configure a repository click on Admin -> Repository Management -> Add Repository. After adding the repository you can add commands and notifications on the repository detail page you are redirected to. The access key needs permissions to update the status of your commits, comment on PRs and close them if you want to use that feature.

For a command you can select a kind, name, branch and script to run. If a branch is specified the command will only run when you push to the specific branch. For the script please specify the full path.

The order to run commands is

  1. tests
  2. builds
  3. deploy

The script runner exists on the first failed step, so if tests fail builds and deploys will never run.

On GitHub you have to setup a webhook pointing to http://yourhost:8082/callback/github/ - or https://… if you configured SSL and make sure it sends "push" and "pull" events.

Planned Features

While Leeroy is working and doing its job it is far from being feature complete. Before version 1.0 will be released the following features will be finished

  • GitLab integration
  • Bitbucket integration
  • support for custom templates and notifications
  • website with a browsable documentation and more default snippets

Contributing

Feel free to open issues about bugs or features you want to see or open pull requests. Beside using go fmt and go vet on your code please try to keep the code length around 80 characters. This is no hard limit. If a line is 86 characters long but easy to read and understand there is no need to break it into multiple lines.

License

Leeroy is released under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].