Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

JENKINS

1. It is a tool that is used for automation.


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.

You might also like