Skip to content

Automation for your build automation

License

Notifications You must be signed in to change notification settings

relaxdiego/cicd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Relaxdiego CI/CD auto-provisions and auto-configures a GitLab cluster for you.

Quick Start

Try it with the cluster configuration directory (configdir for short) at examples/manual. Read examples/manual/README.md for instructions on how to get started.

Development Guide

Development Requirements

I have been developing this project using the following tools but you should be able to swap out some of them (VMware Fusion) with a few modifications.

Special Considerations for macOS

Make sure you install the GNU versions of sed and grep since the BSD versions that come with macOS have different interfaces:

brew install gnu-sed grep
echo "export PATH=/usr/local/opt/gnu-sed/libexec/gnubin:$PATH" >> ~/.bash_profile
echo "export PATH=/usr/local/opt/grep/libexec/gnubin:$PATH"" >> ~/.bash_profile

Also make sure that your python environment has the right certificates by installing the certifi package:

pip install certifi

Instantiate a Local Cluster

To facilitate a faster development workflow, we can instantiate a dev cluster locally using Vagrant.

make gitlab configdir=examples/vagrant-vmware

Once provisioning has completed, you should now be able to ssh to your dev cluster's machines:

ssh gitlab
ssh runner

You should also be able to browse to your dev GitLab instance:

curl -L http://gitlab.localdev

Clean Up the Local Cluster

When you're done and want to remove the local cluster, run:

make cluster-implode configdir=examples/vagrant-vmware

More Make Goals

To see more Make goals, run:

make help