Jenkins is an open-source automation server that allows developers to implement continuous integration and continuous deployment (CICD) processes. It runs on port 8080 and can be used to build, test, and deploy code from a code repository like GitHub to testing, UAT, and production environments. Automating these processes with Jenkins provides benefits like running automated tests on code commits and deploying successfully tested code.
Jenkins is an open-source automation server that allows developers to implement continuous integration and continuous deployment (CICD) processes. It runs on port 8080 and can be used to build, test, and deploy code from a code repository like GitHub to testing, UAT, and production environments. Automating these processes with Jenkins provides benefits like running automated tests on code commits and deploying successfully tested code.
Jenkins is an open-source automation server that allows developers to implement continuous integration and continuous deployment (CICD) processes. It runs on port 8080 and can be used to build, test, and deploy code from a code repository like GitHub to testing, UAT, and production environments. Automating these processes with Jenkins provides benefits like running automated tests on code commits and deploying successfully tested code.
2. It is an open-source server that allows all the developers to build, test and deploy software. JENKINS 3. By using Jenkins we can make a continuous integration of projects(jobs) or end-to-endpoint automation. 4. used jenkins to Implementing CICD process 5. runs on 8080 port Continous integration and continous deployment Developer code from git hub to testing server through build & CICD release team. Once it succeed, goes to Live environment i.e.,production server Code & Commit --- GIT hub --- Testing ser -- UAT -- Prod/live Pre pod / UAT (user acceptance test) Testing Environment QA (quality assurance) / SAT (system acceptance testing) Internal testing 3-tier application Front end, middle end, data base Scan the code. Check wether the code is as per standards or not Scanning [before building the code] Take source code from Git hub and convert to executable file & upload in servers 1. Github related user/passwd 2. code downloaded in to R&B machine 3. check build related softwares are available Build & release team 4. run build related commands to create artfact 5. docker image 6. push docker image in to docker reg (docker credentials) 7. connect to k8s server (k8s credentials) 8. copy artifact (exec files) to testing server [R&B team should have testing credentials] 1. Bug1 identified 2. Inform to developer team 3. Fix the bug Testing 4. push code in to Git hub 5. inform to build & release 6. Release step1 Automating above process is CICD (continous integration and continous deployment) C I -- focusing on scanning the images, codes & build the code. C D - ready for testing 1. Take code from Git hub Continous integration 2. code build related softwares need to be install 3. build the code --- Artifact (executable files/output of the file) 4. Copy/deploy artifact in to testing environment Continous deployment 5. send email notification to test same activity of above need to be done in both build & release team laptop/server and also in pre poduction (UAT) environment. Some companies use different softwares for CI & CD separetly 1. Credential store 9software) attahced to jentkins /plugin-piece of software top on jenkins 2. Git plugin [to access git hub files] 3. JDK 4. Javac execute process or jenkin pipelines 5. artifact 6. Docker build 7. Image1 8. Docker push 9. delete docker image 10. connect to k8s testing server 11. run kubernetes Groovy & DSL (domain scripted language) coding languages which understands only jenkins artifact / executable files store Jfrog/Nexes aws service code artifact --- elastic container registry [ecr] Types of pipeline Free type, multi branch pipeline & multi configuration project jenkins workplace /var/lib/jenkins/jobs programme jenkins --- configure ---- build steps ---- build shell(console output) Connection GIT --- Jenkins --- Xserver --- Kubernetes cluster 1. Jenkins agent is an executable, residing on a node, that is tasked by the controller to run a job. Jenkin agent 2. Managing the different Jenkins agents is the job of the agent controller, also known as the master node. 3. In a single Jenkins node configuration, the controller, can also act as both a Jenkin agent and run build jobs. 1. Jenkins Master is the central component of Jenkins's distributed system. Jenkins Master 2. majorly performs the following tasks: Schedule and execute the builds, either on the master itself or on the slaves. 3. Distributing and dispatching the builds to slaves A Slave is a Java executable that runs on a remote machine. >> It hears requests from the Jenkins Master instance. >> The job of a Slave is to do as they are told to, which involves Jenkins slave executing build jobs dispatched by the Master >> You can configure a project to always run on a particular Slave machine or a particular type of Slave machine.
Pipeline having different stages, if each stage need to executed on
different machines. Stages >> At pipeline level, agent = none. Agent labels or names need to mention at stage levels. Enforce time limit to execute a particular job in particular stages Timeout or whole pipeline parallel To execute a jobs multiple stages parallely in pipeline timestamps To know the execution time of stages in pipeline The parameters directive provides a list of parameters that a user can provide when triggering the Pipeline. Parameters >> job executed in multiple choices given be user. [Eg: if the choice is a,b,c,d as a branch names, then at the time of job execution we can use in which branch the job could be executed] If stage need to be executed in particular branch name like 'a' then in declartive directive generator choose when condition environment variables environment. The triggers directive defines the automated ways in which the Triggers Pipeline should be re-triggered In Multiple jobs conditions, jobs will b triggered by one another Job1 -------> Job2 -------> Job3 [ from job2 point of view, Job3 is down stream and Job1 is upstream Declarative directive generator ---->post: post stage or build Post build activities connections Jenkins file push to GIT, pipeline from SCM can take GIT file directly through URL without writing the script. continous looking for changes in GIT hub [ ***** ----> 5stars -- poll scm every 5 minutes looking for changes] GitHub Actions is a continuous integration and continuous delivery (CI/CD) platform that allows you to automate your build, test, and GitHub Actions deployment pipeline. You can create workflows that build and test every pull request to your repository, or deploy merged pull requests to production.