FRINX Smart Build Engine

Ready-to-run package for the entire software development process

A continuous integration and deployment system based on Docker containers, it leverages well-known open source projects and comes pre-integrated to get you up and running quicker. Can run on one or multiple host VMs.

Full integration between several well-established open-source solutions for source code management and code review, continuous integration, code quality assessment, project management and repository management.

Preconfigured and linked tools mean software teams can embark immediately on the development process

The SBE Includes

  1. Docker containers with open source CI/CD components
  2. Scripts to configure, deploy and manage containers and applications
  3. Scripts for building the FRINX ODL distribution and sample applications
  4. Documentation

All SBE tools accessible via a single jump-off page.

For questions and orders please contact our team at info@frinx.io.

Please see our introductory video.

Scalable to very large projects and hence suitable for developing forked versions of existing projects

SBE Components

Software Build

Building software is an end-to-end process that involves many distinct functions.

Code Quality

This function is responsible for checking that developers have adhered to the seven axes of code quality: comments, unit tests, duplication, complexity, coding rules, potential bugs and architecture & design.

Compilation

The compilation function turns source files into directly executable or intermediate objects.

Version Control

The version control function carries out activities such as workspace creation and updating, baselining and reporting. It creates an environment for the build process to run in and captures metadata about the inputs and outputs of the build process to ensure repeatability and reliability. Tools such as Git help with these tasks, for example by providing a means to tag specific points in history as being important.

Continuous Integration

Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early on. The automated build merges all developer working copies to a shared mainline several times a day.

Continuous Integration

Components Description

Apache Directory Server

ApacheDS is an extensible and embeddable directory server entirely written in Java, which has been certified LDAPv3 compatible by the Open Group. Besides LDAP it supports Kerberos 5 and the Change Password Protocol. It has been designed to introduce triggers, stored procedures, queues and views to the world of LDAP which has lacked these rich constructs.

Gerrit Code Review System

Gerrit is a Web-based code review tool built on top of the Git version control system. Changes are uploaded to Gerrit but don’t actually become a part of the project until they’ve been reviewed and accepted. Gerrit supports the standard open source process of submitting patches which are then reviewed by project members before being applied to the code base.

Jenkins CI

It’s an open source continuous integration tool written in Java. Jenkins provides continuous integration services for software development. It is a server-based system running in a servlet container such as Apache Tomcat. The official Jenkins Docker is used in conjunction with additional plugins and scripts in order to integrate with Gerrit.

Additional components include:

Sonatype Nexus

It’s a repository manager. It allows you to proxy, collect, and manage your dependencies so that you are not constantly juggling a collection of JARs. Internally, you configure your build to publish artifacts to Nexus and they then become available to other developers.

PostgreSQL

A powerful, open source object-relational database system. It has more than 15 years of active development and a proven architecture that has earned it a strong reputation for reliability, data integrity, and correctness. It runs on all major operating systems.

Redmine

Free and open source, Web-based project management and issue tracking tool. It allows users to manage multiple projects and associated subprojects. It features per project wikis and forums, time tracking, and flexible, role-based access control.

NGINX

Free, open-source, high-performance HTTP server and reverse proxy, as well as an IMAP/POP3 proxy server. NGINX is known for its high performance, stability, rich feature set, simple configuration, and low resource consumption.

SonarQube

Provides an overview of the overall health of your source code and even more importantly, it highlights issues found with new code.

SBE

A useful container which includes all tools and utilities for working with SBE.