Jenkins Server

Jenkins Automation Server

Jenkins is mainly used for setting up automated software builds and building CI/CD pipelines in a software development organization. However, it can also be used as a general purpose DevOps automation platform where various automation, provisioning and system maintenance tasks can be hosted and orchestrated from.

When you spin up an AWS EC2 node from Kurian’s Jenkins Server AMI, Jenkins Automation Server is up and running, and fully functional. It also comes with additional tools commonly found in a DevOps toolchain that are needed to roll out various automation projects. They include:

  • Major Jenkins plugins
  • Compilers Open JDK 8 and C/C++
  • Python 2.7 and 3.x
  • Ansible
  • Node.js
  • AWS CLI
  • kubectl
  • Maven
  • Gradle
  • Git Client

At the same time, the Jenkins setup is not altered from official installation guidelines so you don’t need to deal with a custom Jenkins setup for building on the baseline platform provided by this AMI.

Note: For all the listed applications and features to be available select the latest version of the AMI.

Features

  • The AMI has latest Jenkins Continuous Integration/Continuous Deployment (CI/CD) platform pre-installed and configured, with the dependent plugins and applications.
  • The AMI has all the important plugins preinstalled.
  • The AMI has Open JDK 1.8, gcc and g++ compilers, and AWS CLI preinstalled.

How It Works

Jenkins is a Java based application and usual steps are the following, but, it can differ depending on the target OS platform:

  • Install Open JDK.
  • Install Jenkins package.
  • Install Jenkins plugins.
  • Install and configure applications that are needed for building CI/CD pipelines.

Though the above steps are not very hard, it requires some technical skills to get everything right for Jenkins to be up and running. Also, it requires many plugins to be usable in a real-life development environment.

The Kurian’s AMI comes with all the above steps baked in, so the EC2 node spun up from it will be usable from the get-go.

Build slaves can be integrated with these servers to provision scalable build, CI/CD or automation infrastructure. Kurian provides fully configured build slave AMIs to meet most of the common build requirements.

Supported Platforms

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

Latest Releases

Older Releases

Unsupported Platforms & Configurations

Kurian releases latest versions of the software on popular Linux distributions. If you need a configuration that is not available currently 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 use (optional).

Configuration

  • After the node is up and running fully, access Jenkins UI using url: http://NODE-IP:8080.
  • SSH into the EC2 node and obtain password for the admin user from /var/lib/jenkins/secrets/initialAdminPassword
    • sudo cat /var/lib/jenkins/secrets/initialAdminPassword
  • Login as user ‘admin’. Change admin password soon after you login.
  • Rest of the configuration steps are application specific and refer product documentation for details.

Upgrade

An existing Jenkins instance can be migrated to a Jenkins instance spun up from latest version of AMI. Usually that is performed by syncing the JENKINS_HOME directory from old instance to the new instance. However, a specific case of migration can be different and please consult the Jenkins documentation for that.

For help, contact us by email with details of your migration scenario.

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

Jenkins runs on port 8080 and that must be opened to the network from where you plan to access the application.

The EC2 node can be accessed using any SSL based remote access clients on port 22, using the ssh key you have selected when the node is spun up.

Following are the predefined 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