In this session, we are going to set up a typical CI/CD pipeline using concourse to make the development process more agile and deployment more visible.
2. Lack of etiquette and manners is a huge turn off.
KnolX Etiquettes
Punctuality
Respect Knolx session timings, you
are requested not to join sessions
after a 5 minutes threshold post
the session start time.
Feedback
Make sure to submit a constructive
feedback for all sessions as it is
very helpful for the presenter.
Silent Mode
Keep your screen on mute, until it
is necessary.
Avoid Distraction
Be along with the presenter during
the session and enjoy.
4. What is Concourse?
The concourse is an open-source pipeline based CI system. It is most commonly used
for CI/CD and is built to scale to any kind of automation pipeline, from simple to
complex.
Built on the simple mechanics of resources, tasks, and jobs, Concourse
presents a general approach to automation that makes it great for CI/CD.
Important Points:
● The concourse is written in GoLang.
● The concourse is a 100% open source
● It uses postgress as a backend
● Uses containers to run the tasks
5. Why Concourse?
● Why not Jenkins ?
○ Plugin based
○ No strict isolation
○ Too much dependency
○ Well java .... ( )
● Concourse
○ Pluggable Resource Interface
○ Running builds in Containers Natively
○ Submitting builds from the local file system up to run in CI
○ Reproducible
14. The first step to getting started with Concourse is to install the fly CLI tool.
All configuration and administration is done using the fly CLI.
Login:
fly -t knoldus login -c http://localhost:8080 -u admin -p admin
Create Pipeline:
fly -t knoldus set-pipeline -p spring-boot-service -c pipeline.yml
Validate pipeline
fly validate-pipeline -c pipeline.yaml
Trigger a job from a pipeline
fly -t {target} trigger-job --job pipelineName/jobName
Delete a pipeline
fly -t {target} destroy-pipeline -p pipelineName
15. A pipeline is the result of configuring Jobs and
Resources together. When you configure a pipeline, it
takes on a life of its own, to continuously detect
resource versions and automatically queue new builds
for jobs as they have new available inputs.
16. ● Resources are the heart and soul of Concourse. They represent all external inputs to and outputs of jobs in
the pipeline.
● Jobs determine the actions of your pipeline. They determine how resources progress through it, and how the
pipeline is visualized.
● Task is the smallest configurable unit in a Concourse pipeline. A task can be thought of as a function from
task.inputs to task.outputs that can either succeed or fail.