3. 1. Introduction
Developing and releasing software can be a complicated process, especially as
applications, teams, and deployment infrastructure grow in complexity
themselves.
Questions for dev team:
● How to verify if new change is working as expected?
● How to make sure code runs well on your machine will run well on others?
● How to make latest code always available to all developers and QA
engineers as fast as possible?
4. 2. CICD overview
● Continuous Integration is a
software development practice
where members of a team
integrate their work frequently.
● Every commits/changes made to a
shared repository must be run
through set of test cases to make
sure new changes are accepted.
● The result of that run should be
informed to responsible persons.
5. 2. CICD overview
Continuous Delivery is the ability to
continuously deliver integrated code,
be it bug fixes or new features, to
production. Software can be deployed
at any given time.
6. 1. Introduction
Questions for QA team:
● How to know if the code is ready to test?
● How to find bug easily and fast?
● How to make sure app in testing will be the same on production?
7. 2. CICD overview
Continuous Deployment: Every change that
passes all stages of your production
pipeline is released to your customers.
There's no human intervention, and only a
failed test will prevent a new change to be
deployed to production.
8. 2. CICD overview
Who should know about CI/CD?
● Dev
● QA
● SysAdmin
Who should implement CI/CD?
● Team has good development flow knowledge.
● Startup? (time to market, proof of concept, …)
● Big corp? (robust software, reliable
deployment…)
10. 3. Jenkins
Jenkins is an open source automation
server written in Java. Jenkins helps
to automate the non-human part of
the software development process,
with continuous integration and
facilitating technical aspects of
continuous delivery.
12. 4. Jenkins best practices
● Jenkins sizing
Each build node takes 2-3 thread, which equals about 2 MB or more of memory
In fact, 140 slave nodes, 200 pipeline -> 24GB RAM, 6 vCPU
13. 4. Jenkins best practices
● Jenkins pipeline organization +
job and Node ownership plugin