Kurian Build Server

A general purpose build machine is a requirement at times in an environment where a diverse portfolio of products are built and packaged for testing and production or releasing to customers. These requirements include:

  • an environment for building legacy products
  • build node in a CI/CD pipeline
  • highly custom environment for building or releasing something
  • a baseline machine for building a build node to add to an existing CI/CD pipeline.

Note that if your requirement is to set up a Jenkins Server or Slave, check out the related AMI products by Kurian:

The Kurian Build Server AMI is preloaded with tools needed for building and packaging applications for a variety of platforms and application development environments:

  • Git Client
  • Ant
  • Maven
  • Gradle
  • Java OpenJDK 8 as the default Java version
  • OpenJDK releases from 9 through 15.
  • C/C++ compilers
  • Go compiler
  • Python, versions 2.7 and 3.x
  • Docker
  • Node.js
  • Ansible
  • AWS CLI
  • kubectl

All the tools are installed following official guidelines so you don’t need to deal with any custom environment and you can build on the baseline build platform available on this AMI.

Features

All the compilers, interpreters and other tools that are normally used by build and automation jobs are installed on the AMI.

OpenJDK releases

  • OpenJDK 1.8 is the default version of Java available on the AMI.
  • The OpenJDK versions 9 and above are installed under /opt/java. For example, release 9 is available under /opt/java/jdk-9. For the actual path and related info check under /opt/java and point JAVA_HOME to appropriate path as needed.

C/C++

gcc and g++ are available on the AMI and the related standard header files.

Go

Latest version of Go is installed and available in the system path. Run go version to see the version info.

Python

The default version of Python available on the AMI is Python 3. Python 2.7 is also available on the AMI and it may have to be accessed as python2 or python2.7.

Please note the Python paths are slightly different on each Linux distribution as we didn’t make any attempt to standardize to avoid customization.

Node.js

Latest version of Node.js executable is available in the system path.

Git client

Git client is installed and available in the system PATH as git.

Ant

The system environment variable ANT_HOME points to the install location of Apache Ant.

Maven

Latest version of Maven is installed and it can be accessed as mvn from the system path.

Gradle and Yarn

Latest stable releases of Gradle and Yarn are installed. The system environment variable GRADLE_HOME points to the install location.

Ansible

A recent version of Ansible is available on the AMI. To the see the installed version and the Python interpreter it uses, run ansible --version.

AWS CLI

The AWS CLI command aws can be accessed as aws or /usr/local/bin/aws depending on the Linux distribution.

Docker

The latest, stable version of Docker is available on the AMI for Docker based builds.

kubectl

A recent version of the kubectl command-line tool is installed for Jenkins jobs that need to access Kubernetes clusters.

How It Works

A node spun up from this AMI could be used immediately for compiling software and packaging binaries into artifacts supported by the application development tool or those available on the related Linux platform. Later Docker version is also available on the host for building Docker images.

Supported Platforms

Click on the links below to take you to Amazon Marketplace for spinning up EC2 nodes.

Unsupported Configurations

Kurian releases latest, stable versions of open source software on popular Linux distributions. If you need a configuration that is not currently available in marketplace, send us your requirements to contact@kurianinc.us. Please include the following info in the email:

  • Name of Software to be on the AMI with version numbers.
  • Linux distribution and the version.
  • The EC2 instance type you plan to spin up from the AMI (optional).

Configuration

The EC2 node is ready for building a variety of applications immediately. Test the build node with a typical build and if needed install any additional components.

Upgrade

Check for an updated version of this AMI for using up-to-date versions of the software needed for builds.

Maintenance and Troubleshooting

Kurian can help with configuring Jenkins for your specific needs. Contact us with details to contact@kurianinc.us

Remote Access to EC2 Node

Following are the standard AWS defined users available when a node is provisioned:

  • Amazon Linux: ec2-user
  • Red Hat Linux: ec2-user
  • SuSE Linux: ec2-user
  • Fedora: fedora
  • CentOS: centos
  • Debian Linux: admin
  • Ubuntu: ubuntu