All Projects → AlloyCI → Alloy_ci

AlloyCI / Alloy_ci

Licence: agpl-3.0
Continuous Integration, Deployment, and Delivery coordinator, written in Elixir.

Programming Languages

elixir
2628 projects

Projects that are alternatives of or similar to Alloy ci

Gocd
Main repository for GoCD - Continuous Delivery server
Stars: ✭ 6,314 (+2204.38%)
Mutual labels:  ci, continuous-integration, continuous-deployment, continuous-testing
build-plugin-template
Template repository to create new Netlify Build plugins.
Stars: ✭ 26 (-90.51%)
Mutual labels:  continuous-integration, ci, continuous-deployment, continuous-testing
Nevergreen
🐤 A build monitor with attitude
Stars: ✭ 170 (-37.96%)
Mutual labels:  ci, continuous-integration, continuous-deployment, continuous-testing
Rok8s Scripts
Opinionated scripts for managing application deployment lifecycle in Kubernetes
Stars: ✭ 248 (-9.49%)
Mutual labels:  ci, continuous-integration, continuous-deployment, continuous-testing
Bzppx Codepub
暴走皮皮虾之代码发布系统,是现代的持续集成发布系统,由后台管理系统和agent两部分组成,一个运行着的agent就是一个节点,本系统并不是造轮子,是"鸟枪"到"大炮"的创新,对"前朝遗老"的革命.
Stars: ✭ 471 (+71.9%)
Mutual labels:  ci, continuous-integration, continuous-deployment, continuous-testing
Pipelines
Build pipelines for automation, deployment, testing...
Stars: ✭ 105 (-61.68%)
Mutual labels:  ci, continuous-integration, continuous-deployment, continuous-testing
Build
Netlify Build runs the build command, Build Plugins and bundles Netlify Functions.
Stars: ✭ 135 (-50.73%)
Mutual labels:  ci, continuous-integration, continuous-deployment, continuous-testing
Abstruse
Abstruse is a free and open-source CI/CD platform that tests your models and code.
Stars: ✭ 704 (+156.93%)
Mutual labels:  ci, continuous-integration, continuous-deployment, continuous-testing
swarmci
Swarm CI - Docker Swarm-based CI system or enhancement to existing systems.
Stars: ✭ 48 (-82.48%)
Mutual labels:  continuous-integration, ci, continuous-deployment, continuous-testing
Wflow
🐆 EXPERIMENTAL -- Runs GitHub Actions workflows locally (local) -- Don't run your YAML like a 🐪
Stars: ✭ 187 (-31.75%)
Mutual labels:  ci, continuous-integration, continuous-deployment
Rocket
Automated software delivery as fast and easy as possible 🚀
Stars: ✭ 217 (-20.8%)
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 (-95.26%)
Mutual labels:  continuous-integration, ci, continuous-deployment
Webhookd
A very simple webhook server launching shell scripts.
Stars: ✭ 250 (-8.76%)
Mutual labels:  ci, continuous-integration, continuous-deployment
badwolf
Docker based continuous integration, continuous deployment and code lint review system for BitBucket
Stars: ✭ 88 (-67.88%)
Mutual labels:  continuous-integration, continuous-deployment, continuous-testing
ofcourse
A Concourse resource generator
Stars: ✭ 41 (-85.04%)
Mutual labels:  continuous-integration, ci, continuous-deployment
Orkestra
Functional DevOps with Scala and Kubernetes
Stars: ✭ 102 (-62.77%)
Mutual labels:  ci, continuous-integration, continuous-deployment
landkid
Your friendly neighborhood async merging robot goat.
Stars: ✭ 80 (-70.8%)
Mutual labels:  continuous-integration, ci, continuous-deployment
phpci-installer
PHPCI Easy Installer for Laravel Homestead
Stars: ✭ 19 (-93.07%)
Mutual labels:  continuous-integration, ci, continuous-testing
prettier
🔨 Native, blazingly-fast Prettier CLI on Github Actions
Stars: ✭ 19 (-93.07%)
Mutual labels:  continuous-integration, ci, continuous-testing
Simpleci
Simple docker-based continuous integration system
Stars: ✭ 61 (-77.74%)
Mutual labels:  ci, continuous-integration, continuous-deployment

Alloy CI

build status Docker Coverage Status

AlloyCI is a Continuous Integration, Deployment, and Delivery coordinator, written in Elixir, that takes advantage of the GitLab CI Runner, and its capabilities as executor. It also provides its own runner, the Alloy Runner, which is a fork of the GitLab CI Runner, with extra capabilities.

It aims to bridge the gap between GitLab's CI runner and GitHub. GitLab's CI runner is tightly coupled with GitLab, so it is not possible to use one of these runners from a GitHub codebase.

With AlloyCI you will be able to register one of the Runner projects to the platform, connect it to one of your GitHub repositories, and have it run your CI and CD pipelines.

AlloyCI will report the status of your pipelines to your pull requests, branches, and commits, so you can always know their status, just like any other CI service.

Goals

  • To provide a clean bridge between GitHub and the GitLab CI runner
  • To provide an alternative to other open source CI services
  • To leverage the great open source project that is the GitLab CI runner
  • To provide GitHub users with the same top class CI/CD that GitLab has, without having to switch to, or use GitLab, or paying insane amounts for inferior services

Stretch Goals

  • To provide all the CI/CD/Pipelines functionality, currently available only to GitLab EE, for free
  • To create a SaaS based on AlloyCI and provide a more cost effective alternative to the current CI service ecosystem

Features

  • [x] Basic CI functionality:
    • [x] Uses the .alloy-ci.yml to define pipelines, jobs, and stages
    • [x] Can send the required build information to the runner for processing when requested
    • [x] Can receive status updates from runner
    • [x] Can report back to GitHub with the statuses
    • [x] Can send notifications via email with the status of a pipeline
    • [x] Can send notifications to Slack with the status of a pipeline
  • [x] Extras
    • [x] Build statistics per project
    • [x] Build statistics per runner
    • [x] Support for GitHub Enterprise
  • [x] Advanced CI functionality
    • [x] Can run jobs on multiple environments (using the image feature of the Docker executor.)
    • [x] Can use a local build cache to speed up jobs
    • [x] Can build and test from pull requests coming from a fork
    • [x] Can distinguish between tags and branches
    • [x] Can make use of only and except tags for jobs
    • [x] Can make use of secret variables stored on a per project basis
    • [x] Can receive uploaded artifacts from runners
    • [x] Can pass artifacts between build jobs as dependencies
    • [x] Can manually specify dependent jobs via the .alloy-ci.yml file
    • [x] Presents the artifacts to the user in a nice way, and allows download
  • [ ] Deployment functionality
    • [x] Can manually start deployments (manual actions)
    • [x] Can do auto deploys
    • [ ] Can make use of different environments
    • [ ] Can start Review Apps
  • [x] Auto Scaling Support (supported directly by the runner)
    • [x] Can create runners on demand
    • [x] Can destroy runners when not in use

Installation

Head over to our documentation for more information.

Contributing

Pull requests are always welcome!

  1. Clone the Repository
  2. Run mix deps.get to install all dependencies
  3. Run cd assets && yarn install to install all Javascript dependencies
  4. Make sure all environment variables are present. See here for more info. You can save them in a .env file, and source them before running any mix task
  5. Create and migrate the database with mix ecto.setup
  6. Run tests with make unit or start a development server with make run
  7. Code & send your PR when ready

Before contributing, please read our Code of Conduct and make sure you fully understand it. Violations will not be tolerated.

Copyright

Copyright (c) 2018 Patricio Cano. See LICENSE for details.

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].