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.
- Build Server for Amazon Linux 2018
- Build Server for Amazon Linux 2
- Build Server for CentOS 7
- Build Server for CentOS 8
- Build Server for Red Hat Enterprise Linux 7
- Build Server for Red Hat Enterprise Linux 8
- Build Server for Fedora 31
- Build Server for Debian 10
- Build Server for Ubuntu 16.04
- Build Server for Ubuntu 18.04
- Build Server for Ubuntu 20.04
- Build Server for openSUSE Leap 15.2
- Build Server for SUSE Linux Enterprise Server 12
- Build Server for SUSE Linux Enterprise Server 15
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