Continuous Integration (CI)
- To solve the problems with Big Bang Integration, Continuous Integration was proposed
- The Basic Idea of CI is
- Perform Integration of all components on every change by any component, initially it might fail
- CI =
- Build/package the code
- Run tests:
- unit tests, integration tests
- smoke tests, sanity tests
- Static Code Analysis
- Who should run CI?
- Manual: Not feasible
- Automated
- To Perform Automated CI, We need softwares. This is what CI/CD Engine is all about. Some Examples
- Cruise Control
- Jenkins/Hudson
- Azure DevOps
- Github Actions
Basic Principle of Automate
- Know manual steps
- Improve Readabililty:
- automated steps
- executions
Manual steps
Building/Packaging the code
- I will be focusing of 4 tech stacks
- java
- .net
- python
- react/angular using node js
- We will Docker build steps
Running Applications
- Categorization
- Compiled: executable with no extra installation
- C
- C++
- Golang
- Interpreted: directly run code with installed interpretor
- Python
- node js
- Hybrid: Get IL/Bytecode and run on IL with install runtime
- Java
- C#

- Compiled: executable with no extra installation
Java
- Basic Build steps
Refer Here
Exercise
- Compile a C language hello-world code
- Findout what
GNU maketool.
