The CI/CD and DevOps Blog

Deploy a WAR Package From Nexus To AWS Using Ansible

This tutorial explains how to deploy a Java-based WAR package stored on Nexus Repository Manager to a virtual machine running on AWS EC2 using Ansible playbooks.

This document assumes you're familiar with the following concepts:

The best way to get started is to install Ansible on your local machine, and run your playbook manually. Follow the instructions in this blog to achieve this workflow.  Once you understand the mechanics of it, you should consider automating your workflow by following our documentation on Automated deployment of a JAR/WAR package from Nexus to AWS using Ansible.

Java CI: Build and Push a WAR Application to Nexus

This tutorial explains how to build and push a Java-based web application to a Nexus Repository using Maven. We are using a Java demo application that has basic CI tests.

These are the following concepts you need to be familiar with to proceed further:

Build a Docker Image and Push It To Docker Hub

This tutorial explains how to manually build and push an image to Docker Hub. As an example, we will build a Docker image for a simple Node.js application that has basic CI tests as well as code coverage reports. The Dockerfile is a part of the application repository on Github.

Authenticating Against A Self-Hosted Kubernetes Cluster With A Service Account

This tutorial explains how to create a kubeconfig file to authenticate to a self-hosted Kubernetes cluster. If you use a hosted solution like GKE or AKS, you get the benefit of the cloud provider's Auth system. If it is self-hosted, then you'll have to take the DIY approach. This guide helps you to create a service account on Kubernetes and create a kubeconfig file that can be used by kubectl to interact with the cluster.

We assume that you have working knowledge of Docker and Kubernetes and understand the following concepts:

The main reason for authenticating with a service account is to use it with a central deployment platform like Jenkins or Shippable. Since these platforms are used to deploy your applications, you don't want to configure your deployments using your personal account or tokens. This decouples deployments from being associated with a specific person, making it more secure and independent of who actually manages the deployments.

Provisioning an AWS VPC with Terraform

This tutorial explains how to manually provision a AWS Virtual Private Cloud(VPC) using Terraform. Before you start, you should be familiar with the following concepts:

The best way to get started is to install Terraform and run scripts on your local machine to provision a VPC. The first section of this tutorial explains how to do that. However, manual execution isn't the best and most efficient way to run Terraform scripts, so we will take a look at the challenges and learn how to automate this workflow