CI/CD
CI/CD stands for Continuous Integration and Continuous Delivery (or Deployment), and it refers to a set of practices and tools that enable development teams to deliver code changes more reliably and efficiently. The CI/CD pipeline is a key component of this process. Here's a brief overview:
Continuous Integration (CI):
Objective: Detect and address integration issues early in the development process.
Process:
Developers regularly push code changes to a shared repository.
Automated build and testing processes are triggered for every code push.
If the build or tests fail, developers are notified, and they can quickly address issues.
Continuous Delivery (CD):
Objective: Automate the deployment process to make it possible to release software to production at any time.
Process:
After successful CI, the code is automatically deployed to a staging environment.
Automated testing in the staging environment is performed to ensure the code works as expected in a production-like environment.
If tests pass, the code is ready for manual approval to be deployed to production.
Continuous Deployment (CD):
Objective: Automate the deployment process further to eliminate the need for manual approval in production.
Process:
Similar to Continuous Delivery, but the deployment to production is automated without manual intervention.
This requires a high level of confidence in the automated testing and deployment processes.
Build Job
A Jenkins build job contains the configuration for automating a specific task or step in the application building process. These tasks include gathering dependencies, compiling, archiving, or transforming code, and testing and deploying code in different environments.
Jenkins supports several types of build jobs, such as freestyle projects, pipelines, multi-configuration projects, folders, multibranch pipelines, and organization folders.
Freestyle Projects
A freestyle project in Jenkins is a type of project that allows you to build, test, and deploy software using a variety of different options and configurations.
Today's Task:-
Create Jenkins project to run "docker-compose up -d" command to start the multiple containers defined in the compose file (Hint- use day-19 Application & Database docker-compose file)
Set up a cleanup step in the Jenkins project to run "docker-compose down" command to stop and remove the containers defined in the compose file.
Day 23 of #90daysofDevOps
Thanks for reading
Follow me for more about DevOps♾️........
________________________________________________________________________________
#90daysHardChallenge
#Cloudcomputing
#DevOps
#Python
#TrainWithShubham