All Projects → samsalisbury → Circleci Multi File Config

samsalisbury / Circleci Multi File Config

Licence: mit
A sane workflow for managing large circleci configurations.

Labels

Projects that are alternatives of or similar to Circleci Multi File Config

Slugrunner
Buildpack application runner for Deis Workflow.
Stars: ✭ 14 (-51.72%)
Mutual labels:  makefile
Android Audioplayer
An AudioPlayer For Android Platform
Stars: ✭ 16 (-44.83%)
Mutual labels:  makefile
Qubes Roadmap
High-level milestone planning for Qubes OS
Stars: ✭ 27 (-6.9%)
Mutual labels:  makefile
Mlgo
Machine Learning with Go Session Material for Golab 2018
Stars: ✭ 15 (-48.28%)
Mutual labels:  makefile
Android device samsung toroplus
Stars: ✭ 15 (-48.28%)
Mutual labels:  makefile
Node Tab
Unix-style tables for command-line utilities
Stars: ✭ 21 (-27.59%)
Mutual labels:  makefile
Stanford Drupal Profile
A dev / test-only version of the Drupal Hosting Service Configuration
Stars: ✭ 13 (-55.17%)
Mutual labels:  makefile
Ariane Sdk
Ariane SDK containing RISC-V tools and Buildroot
Stars: ✭ 28 (-3.45%)
Mutual labels:  makefile
Openpht
OpenPHT for AML
Stars: ✭ 20 (-31.03%)
Mutual labels:  makefile
Mvvm C Templates
Templates for MVVM-C architecture
Stars: ✭ 27 (-6.9%)
Mutual labels:  makefile
Android device huawei next
LineageOS device tree for the Huawei Mate 8 - [Unmaintained]
Stars: ✭ 15 (-48.28%)
Mutual labels:  makefile
Ris
a simple cross-platform resource compiler for c++ projects
Stars: ✭ 15 (-48.28%)
Mutual labels:  makefile
Bashmultitool
A library for bash shell program containing useful functions. Can be imported into scripts to create colourful and functional scripts and TUIs.
Stars: ✭ 27 (-6.9%)
Mutual labels:  makefile
Fdgw2
Build minimal NetBSD bootable disk image
Stars: ✭ 14 (-51.72%)
Mutual labels:  makefile
Ansible Environment
Ansible role which adds /etc/environment variables
Stars: ✭ 27 (-6.9%)
Mutual labels:  makefile
Cocos2d Lua Sproto
cocos2d-lua集成sproto协议
Stars: ✭ 14 (-51.72%)
Mutual labels:  makefile
Hubot Slack Docker
Docker container running Github Hubot.
Stars: ✭ 21 (-27.59%)
Mutual labels:  makefile
Pxt Filesystem
File system - beta
Stars: ✭ 28 (-3.45%)
Mutual labels:  makefile
Jmap
JSON Meta Application Protocol Specification (JMAP)
Stars: ✭ 942 (+3148.28%)
Mutual labels:  makefile
Vault Auth Plugin Example
An example @HashiCorp Vault auth plugin
Stars: ✭ 27 (-6.9%)
Mutual labels:  makefile

CircleCI

CircleCI Multi-File Config

A sane workflow for managing large circleci configurations.

Why?

CircleCI configuration can grow very large, this project lets you break up your config into separate files for ease of management.

As a bonus, it also allows you to use full 2.1 syntax, including orbs, even on on-prem CircleCI Enterprise which currently only supports 2.0 syntax.

What is it?

This repo contains a Makefile and other required supporting files in copythis.circleci/ which you can copy to your own project's .circleci/ directory. The Makefile's main target make ci-config generates a single 2.0 syntax .circleci/config.yml from the yml file tree in .circleci/config/ in 2.0 or 2.1 syntax.

Installation

Copy everything (including dotfiles) in copythis.circleci to your own project's .circleci directory. Copy the git pre-commit hook file to that project's .git/hooks directory, so you don't shoot yourself in the foot.

Once that is done, see the usage README in that directory.

If you already have a .circleci/config.yml simply rename it to @config.yml and then run make ci-config. You can begin breaking up the @config.yml into separate files under the .circleci/config directory, as you see fit.

This is all supported by the circleci-cli tool anyway, but the Makefile and git hook make it much more convenient to use.

Usage

Please see the Usage README!

What does each file do?

├── README.md                # This file.
├── copythis.circleci        # Dir containing stuff to copy.
│   ├── .gitattributes       # This file tells GitHub not to show diffs for the generated config.yml
│   ├── .gitignore           # This file tells git to ignore temp files.
│   ├── Makefile             # This is the main file defining the workflow.
│   ├── README.md            # The usage README. You should copy this into your .circleci dir too!
│   └── pre-commit           # Git pre-commit hook. Highly recommended to use this.
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].