top of page
Search

Gear up for Application Deployment Automation with Concourse CI

Updated: May 20, 2022

Concourse is a container-based CI pipeline tool.


Concourse is different from all the other CI-CD tools; all jobs inside Concourse run on containers thus making it easier for us to customize the docker images and perform any integrations we want to have. Unlike Jenkins, it also reduces server-wide configurations.

It was first invented by Alex Suraci. Pivotal sponsors Alex and his team of developers since 2014.

In this blog, I will be explaining some basic terminologies of Concourse. So, friends, let’s gear up for learning Concourse!!


Core Concepts:


Pipelines: Pipelines are the major components of Concourse consisting of jobs to be performed and resources. A Concourse pipeline consists of resources, jobs, tasks, etc.

Now please don’t worry, I will be DIGing into each term in the following sections with a diagram to make it easier for your understanding.


An architecture diagram to explain Concourse Pipeline with all its basic components


Resources: Resources represent external states or some integrations of Concourse with external tools and technologies like git resources for source code dependencies from GitHub, docker images from public or private repositories, AWS S3, Concourse integration with Kubernetes, Terraform, Ansible, etc.


Resource Types: Resource types are a self-contained part of the pipeline, keeping it small, simple, and generic without the need for complicated and heavy plugin systems, unlike Jenkins. Examples of resource types: git, s3, docker-image, terraform, etc.

Concourse has more than 100 integrations with different other tools and technologies, you can follow the list and GitHub repositories of those integrations here: https://resource-types.concourse-ci.org/


Plan: Plan provides the flow of jobs to be implemented either sequentially or in parallel.


Jobs: Jobs are steps to be executed inside the pipeline plan. Jobs are loosely coupled sequences of get, put, and task steps to execute. These steps determine the job’s input and output.


Tasks: The smallest configurable unit in a Concourse pipeline is a single task. A task can be thought of as a function of task.inputs to the task.outputs that can either succeed or fail.

get: Fetches a version of a resource.

put: Pushes to the given resource.

task: Executes a task.



So here you go! We have learned the basics of Concourse and are good to proceed to our next blog on implementing a basic pipeline using Concourse CI. Why wait!! let’s leap forward in our Concourse journey.

Happy DIGing!!


Also, you can start on some quick learns here: https://concoursetutorial.com/









38 views0 comments
Post: Blog2_Post
bottom of page