SRE Day 1 – Assignment

1. Git is not a file versioning tool. Its file system versioning tool. How come?

Git keep tracks of the files which are in directory of the system. Thus, any changes made to that file will be addressed by its directory.

2. List down top 20 Jenkins plugins

  1. bootstrapped-multi-test-results-report
  2. Test Results Analyzer
  3. GitHub Integration
  4. SCM API
  5. Mailer
  6. Disk-usage
  7. Monitoring
  8. Pipeline
  9. Build Pipeline
  10. Performance Publisher
  11. Jira
  12. Azure Container Service
  13. Amazon Elastic Container Service
  14. Kubernetes
  15. Code Coverage
  16. Blue Ocean
  17. Jenkins Infrastructure
  18. Jenkins Remoting Project 
  19. Job Converter for Jenkins
  20. Improve Jenkins ATH

3.Write down steps to add new linux node of Jenkins?

Pre-requisites

if new or slave node is Linux server

Create ssh connection if you are linking linux server

if new or slave node is windows server

Once logged into Jenkins. Do the below

Click Manage Jenkins, you can see Manage nodes and clouds

Click New Node , the next action is to provide the name of the node

Add the server ip (Ensure java is installed on the server which you are going to link)

if new server is windows select the launch method as Let Jenkins control this Windows slave as a Windows service

if new server is linux select the launch method as Launch agent via execution of command on the master

Leave everything default and select Ok

This will create new node where you can run the jobs using this slave node

4. Define git workflow and list down all the git workflow options

Git workflow helps the team identifying a single branching strategy to provide rapid and reliable software development improvements

Git Workflows

  • Local repo
  • Central repo
  • Feature branch
  • Git flow
  • forking

5.What is continuous integration?

Continuous Integration (CI) is the process of automating the build and testing of code every time a team member commits changes to version control.