CI is the process of taking a developer’s code throughout the various steps necessary for it to be ready to be deployed as an application. This deployable application is called an artifact.
Below are the steps to Continuous Integration:
Overview of Steps
- Developer checks in code to Code Repository via Version Control System
- Application is built including unit tests
- An artifact is produced
- The artifact is stored within an artifact repository
Enterprises that do Continuous Integration leverage servers to do automated builds and test code that is checked into a repository by a developer. Start with automated builds and introduced small tests within your build. You can also store and manage artifacts within Artifact Repositories.
What is an Artifact/Service?
Service: A service is self-contained software that serves as part of a collection of services that make up an application. Common examples are:
- Docker container
- Kubernetes pod
- A single Node.js app
Artifact: Each service contains it’s own deployment requirements. For example, your Node.js application will require you to package your service in a particular way to prepare it for deployment. This packaged and ready state is an artifact. So, an artifact is simply a service that is built, packaged, and ready for deployment.
Why use it?
Continuous Integration reduces risk. It is an automated process for ensuring additional features and changing code does not break your application. Gone are the days that you wait to deploy your code and realize your team of developers have worked off of outdated or broken code. Catching breaking changes or bugs early on will save your team from angry end-users and endless debugging and burnout.