benjvi / PRify

PRify automatically creates separate PRs for subfolders

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PRify

PRify is a tool that interacts with Git and Git Servers fo you, simplifying continous delivery workflows. It's primarily designed to work with 'GitOps' style repos.

There are a number of pain points around using git in a pipeline it aims to simplify:

  • Branching and pushing, code for this is often re-written for each pipeline or CI system
  • Creation of PRs, which many pipelines don't do just because integrating with the git server adds more work
  • Duplication of pipelines. In many cases, different applications will be stored in different folders in the same repo (i.e. in a GitOps repo), but may have duplicated pipelines to give visibility of what's changing. PRify provides an alternative way to get this visibility by automatically raising separate PRs for changes in different folders

In a nutshell, PRify pushes code and automatically creates separate PRs for subfolders.

Installation

Download the latest binaries from the releases page.

A docker image is also provided at benjvi/prify:latest for use in docker-based CI systems.

Getting Started

Create a prify.yml file in the directory you will make changes to in CI, using this example as a reference for the fields available.

In your CI pipeline:

  • Make changes to the directory
  • Setup any git or github credentials
  • Navigate to the directory containing the changes and execute prify run

Depending on the configuration you set, the changes should been pushed to the git server and PRs may have been created.

Example

This example repo uses PRify to automatically push changes to a non-prod environment from angular and spring CI pipelines. In a workflow triggered by changes to non-prod, PRify is used again to create PRs for the changes.

About

PRify automatically creates separate PRs for subfolders


Languages

Language:Go 91.2%Language:Dockerfile 5.1%Language:Shell 3.7%