CI/CD with Cloud-Native Applications

Continuous integration and continuous delivery, an approach now known as CI/CD, is more than just an approach for developing and delivering apps to customers. While CI/CD changes how apps are deployed—introducing smaller iterations and faster deployment in the process—the approach itself gets adopted differently. Especially for cloud-native applications.

When you implement CI/CD for deploying cloud-native applications, the approach becomes an inseparable tool that streamlines the whole development and deployment phases. In fact, cloud-native applications can be made more robust in the long run when their development integrates with pipelines based on the CI/CD approach.

ReactJS App on Oracle Kubernetes Engine with Travis CI and GitHub

Introduction

This article demonstrates the steps required to host a Node application with Oracle Kubernetes Engine (OKE) using Travis Continuous Integration Server. Travis CI is very tightly coupled with GitHub, so any public repository created by you will be visible automatically in Travis. 

This is a development/sample code demo only. You need to optimize the code (given in this article) or write extra code to make it production-quality. You can access the sample code used in this article from here: https://github.com/kumarsirish/sample-travis-oke.

Jenkins X Step-by-Step Tutorial to Continuous Deployment with Kubernetes

At TestProject we strive to use the most up-to-date best practices, and as part of an upgrade for some components and workflows in our infrastructure, we are partially shifting to Jenkins X. There is a lack of useful material available on Jenkins X serverless setup, so as part of our belief in sharing and giving back to the community we’ve decided to create a full-blown step by step tutorial on about it!

Jenkins X serverless and Kubernetes continuous integration solves the following problems:

Avoid These Common Pitfalls When Transitioning to CI/CD

Avoid these mistakes!

If you have attended an industry event or conference lately, the talk inevitably drifts to development approaches. One thing you hear about a fair amount is the difficulties in the adoption of automated testing, continuous integration, continuous delivery CI/CD pipeline, agile testing, DevOps, test automation, behavior-driven development, and continuous testing among others. While these may sound like buzzwords to the uninitiated, organizations today are adopting many of these approaches successfully to drive faster release cycles along with high-quality software.

How to Automate Container Security by Using CRDs to Get Security Policy as Code

Security has long been a sticking point for many DevOps teams (including my own, at a Canadian insurance and financial services co-operative). While available tools have enabled automation across plenty of other parts of our CI/CD pipeline — and made automated deployment of our container-based applications the norm — security automation has largely lagged behind.

Like most DevOps teams, we put automated vulnerability scanning into place, but the manual effort of building security policies to safeguard production application workloads remained a pain point.

The Complete CI/CD Collection [Tutorials]

Everything you need to set up your complete CI/CD pipeline and implementation.

What is CI/CD?

Getting Started

Time to roll up your sleeves and get started building your CI/CD pipeline.

Getting Started With CI/CD 

Tools

How to Do Deep Learning for Java

Deep in thought studying deep learning for Java.

Introduction

Some time ago, I came across this life-cycle management tool (or cloud service) called Valohai, and I was quite impressed by its user-interface and simplicity of design and layout. I had a good chat about the service at that time with one of the members of Valohai and was given a demo. Previous to that, I had written a simple pipeline using GNU Parallel, JavaScript, Python, and Bash — and another one purely using GNU Parallel and Bash.

I also thought about replacing the moving parts with ready-to-use task/workflow management tools like Jenkins X, Jenkins Pipeline, Concourse or Airflow, but due to various reasons, I did not proceed with the idea.

Top 5 Challenges of DevSecOps and How to Overcome Them

DevSecOps emphasizes the need for better collaboration between development, operations, and security. It is the constant integration of efforts of all teams at every step of the process. The ultimate goal is to move into a world that is automated and synced, making most of the manual tasks obsolete.

But to get there, there are changes to be made not just to the process but to the behavior as well. However, according to a survey by Threat Stack, 68% of companies state that their CEO demands security and DevOps teams not do anything that slows down the business. This is one of the biggest challenges of DevSecOps and why many quit the transition halfway.

Azure Function Build Release Pipeline in Azure DevOps CI/CD

Playing with Azure Function is always a nice feeling, and it is very important to configure both build and release pipeline for all of your applications. Azure Functions are not different. In this article, we will see how we can create both build and release pipeline in Azure DevOps for our Azure Function application. I hope you will like it.

Prerequisites

You should have an Azure Function application to configure the build and release pipeline for. You can either create a new one in the Azure portal, or you can use any existing Azure functions available on the internet. For example you can see one here.

CI/CD Pipelines to Run Unit Testing in Docker [Video]

This video will focus on how to run unit testing inside a Docker container, and it will show how to run a unit test manually inside the container.

It takes a look at how to run unit tests as part of the CI/CD pipelines. It will explain in detail how Dockerfile builds Docker image to run unit tests and how to save test results as part of the Docker image and how to run a container from that image to see the test results.

Secure and Scalable CI/CD Pipeline With AWS

According to Gartner, a leading research company, worldwide public cloud revenue will grow by 17.3 percent in 2019. Total spending on IT infrastructure products (server, enterprise storage, and Ethernet switches) for deployment in cloud environments is projected to attain a 10.9% year-over-year growth rate, reaching $52.3 billion this year. Application of cloud services is growing rapidly every year than the rest of the IT. Large-scale and highly-elastic applications built on any cloud managed services come with a requirement of automatic validation, infrastructure upgrading, development and deployment, quality assurance and infrastructure administration. Traditional infrastructure management is being replaced by building CI/CD pipelines for all phases of the product development life cycle.

What is DevOps?

DevOps is a union of software development and operations. It is a culture that the company evolves from the Agile development process. The new method of Continuous Integration, Continuous Delivery, and Continuous Deployment have come with the rise of DevOps that focuses on:

A Guide to Cucumber Best Practices

In this post, we’ll share some good Cucumber practices, especially when writing scenarios using the Gherkin language, clarifying some BDD concepts and from these practices, how to build better scenarios.

BDD is a development strategy, and even if you do not follow this practice, we find it beneficial to use Cucumber (or a similar tool) since it "forces you" to document your automated tests before implementing them. It’s fundamental that these tests be made clear to a user who does not know the behavior of the described functionality and that they be maintainable to reduce the costs of making changes in the test steps.
This image by Cucumber reflects the idea of combining automated tests, having a living documentation, and at the same time, still having specifications that are executable. All of this is thanks to the approach of using a tool like Cucumber.

Deploying an Angular App on a Google VM Using Bitbucket Pipelines

Angular is one of the most widely used JavaScript frameworks. But though the builds are easy, developers face issues when configuring deployments and setting up CI/CD pipelines. This post outlines the steps required to deploy an Angular application to a Google VM using Bitbucket Pipelines.

What Are Pipelines?

Bitbucket Pipelines allow developers to configure continuous delivery (in the cloud) of source files to test/production servers. These pipelines are configured to connect to the production server using YAML scripts.

CI/CD for Kubernetes With Jenkins and Spinnaker (Part 2)

In our last post, we installed Spinnaker using Halyard. Now we will create applications and pipelines that will be continuously deployed in our Kubernetes Cluster.

Before creating an application we will add docker registry to cache images which will be used to deploy clusters in application deployments.

Learn How to Leverage Jenkins Pipelines for Mainframe DevOps on GitHub

Overview: Learn about Compuware’s GitHub repository and its accompanying DevOps documentation pages that are dedicated to providing information and working examples for anyone looking to integrate mainframe development into CI/CD pipelines, specifically Jenkins pipelines to start with. 

I frequently attend enterprise IT conferences and speak extensively with customers about what they’re doing to modernize their mainframe environments. Amidst growing business and platform-related challenges, it’s clear to me more people are realizing Agile development on the mainframe is necessary, and that Agile without DevOps is no smart way to go.

How to Take the Burden of Machine Identity Management Off the Backs of DevOps

When I moved into an apartment, I didn’t build scaffolding around the building to support a rope and pulley system to lift boxes of my furniture and belongings to the 19th floor. My stuff was put into an elevator with a dedicated shaft, supported by specifically designed mechanical infrastructure and a simple computer system. The latter way is much safer, more effective, and automated.

In my last post, I wrote about how many DevOps practitioners are still manually generating and managing their machine identities, especially TLS certificates. Think about all of the load balancers, servers, containers, virtual machines, and other network entities that are constantly launched and killed within a DevOps environment. They all need machine identities, yet some of those entities have lifespans of only a few hours.

Beyond the Hype: Setting Realistic DevOps Expectations

Over recent years, the perceived need for brand new tools that can provide customers with faster agile and DevOps application delivery has increased on an unprecedented scale. Despite the fact that the idea of going faster and how DevOps can aid this isn’t new, businesses are eager to prove to their customers that they can produce results with DevOps. In the competitive landscape that organizations now have to navigate, being able to provide customers with improved delivery can help them stay ahead of the game.

With the introduction of tools for automation, requirements management, and deployment, businesses are claiming that they are providing a faster and better service to customers than ever before – a result of DevOps. But the experts have a different opinion and argue that, if they are not being utilized properly, the tools might not work as expected.