At the core of Chipper CI is the Pipeline - the things it does when new code is pushed to a Git repository.
A typical pipeline usually has these elements:
- Cloning the repository at a specific commit
- Installing dependencies (preferably from a cache)
- Running tests
- Reporting on results
Chipper CI attempts to make this as easy as possible for Laravel users. It handles cloning the repository, and caching your builds. The Pipeline handles the rest.
Each new project has a default pipeline that should Just Work⢠(minus any needed environment variables specific to your application).
Each step in the pipeline is completely customizable. It's just Bash, so you can do just about anything you need in there, including using sudo
to install other dependencies.
Environment Variables
Environment variables are something Chipper CI can't know about ahead of time. You'll need to define the ones your project needs to successful be built and run tasks against (such as your unit tests).
You have a few options on setting up environment variables.
First, you can create a .env file for Chipper CI. By default, we copy .env.example and generate a new APP_KEY
. However, you can create your own .env
file (such as .env.chipper
) and have the Pipeline use that for the .env
file.
You can also add your own environment variables in the Project Settings.
These become system environment variables and thus override settings in your project's .env file (which is how the DotEnv package works when reading the .env file).
Reporting on Results
You'll probably want to know the result of your builds!
You have a few options:
- Post to Slack. Everyone loves more Slack notifications. Here's a few more, courtesy of Chipper CI!
- Post to a URL of your choice. You want webhooks? We got webhooks.
- Post to Telegram. Because I couldn't get David to install Slack.
- The pipeline is just Bash, so do whatever you want! (for example, using conditionals)