Continuous Integration

Continuous Integration (CI) providers are specialized tools designed to help software development teams quickly and reliably deploy their software. These tools automate the process of building, testing, and deploying software, making the process of software development faster and more reliable. The three most popular CI providers are Circle CI, GitHub Actions, and Jenkins.

Circle CI is a cloud-based continuous integration and delivery platform. With Circle CI, teams can quickly and easily set up CI/CD pipelines, run tests, and deploy applications with minimal configuration.

GitHub Actions is a CI/CD platform built into the GitHub platform. It allows teams to automate their software releases and quickly deploy applications to production.

Finally, Jenkins is an open-source automation server. This platform enables teams to quickly and easily build, test, and deploy software, and to automate other parts of the software development process.


Before we start

Add the overrides_tracker gem to your gemfile.

gem 'overrides_tracker', group: [:test, :development]

You can use the overrides_tracker gem locally without any restrictions. However, if you want to use it in your CI/CD pipeline, you need to sign up at overrides.io.

Sign up

You can sign up/sign in via GitHub, GitLab, or Bitbucket. With that, you just give us permission to read your email address as well as your public repositories. If you like to connect a private repository, we will ask for more permissions. In any case: We only use the names of the repository, its branches and builds to establish relationships between you, your code and the overrides.io. We never look into any of your code. We only store the OTF-files that the overrides_tracker gem produces. These just include your overriding methods as well as the original methods.

Connect your repository

After you have signed up, you can connect your repository. You can do that by clicking on the "Add a repository" button on the dashboard.
Once you have done that, you find a OVERRIDES_API_TOKEN in the repository settings. You need this token to connect your CI/CD pipeline.

Connect your CI/CD pipeline

Once you have done the above, you get a OVERRIDES_API_TOKEN.

After that you just need to set this token as an environment variable called OVERRIDES_API_TOKEN in your CI/CD pipeline and call the overrides_tracker track command.

Here is how on Circle CI, GitHub Actions and Jenkins:

CircleCI

1. Set up the OVERRIDES_API_TOKEN environment variable in your project settings

To set up your OVERRIDES_API_TOKEN, go to your project settings and select Environment Variables. Add a new environment variable like this:

Name: OVERRIDES_API_TOKEN
Value: your Overrides.io API token

2. Add the tracking command to your CircleCI configuration

- run:
    name: Track and report overrides
    command: bundle exec overrides_tracker track

GitHub Actions

1. Set up the Overrides.io environment variable in GitHub

To set up your OVERRIDES_API_TOKEN, go to your GitHub repository settings and select 'Secrets and Variables'. Click 'New repository secret' and enter:

Name: OVERRIDES_API_TOKEN
Value: your Overrides.io API token

2. Add the tracking command to your workflow

env:
  OVERRIDES_API_TOKEN: ${{ secrets.OVERRIDES_API_TOKEN }}
steps:
  - name: Track and report overrides
    run: |
      echo 'track and report overrides'
      bundle exec overrides_tracker track

Jenkins

1. Set up the Overrides.io environment variable in Jenkins

To set up your OVERRIDES_API_TOKEN, go to your Jenkins job configuration and select Environment Variables. Add a new environment variable like this:

Name: OVERRIDES_API_TOKEN
Value: your Overrides.io API token

2. Add the tracking command to your Jenkins job

bundle exec overrides_tracker track
We need to use cookies in order for you to log in to Overrides.io. By continuing to use the website you agree to the use of cookies. If you would like to know more about how we use your information, we recommend that you read our privacy policy.