SRE – Day1

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

Git thinks of its data more like a series of snapshots of a miniature filesystem. With Git, every time you commit, or save the state of your project, Git basically takes a picture of what all your files look like at that moment and stores a reference to that snapshot. To be efficient, if files have not changed, Git doesn’t store the file again, just a link to the previous identical file it has already stored. Git thinks about its data more like a stream of snapshots.

List down top 20 Jenkins plugins

Subversion,Pipeline: Declarative Agent API,Docker Pipeline,Role-based Authorization Strategy,NodeJS,PowerShell
jQuery,Web for Blue Ocean,Mailer,jUnit,Git,LDAP,PAM Authentication,Python,Log Parser
Office 365 Connector,Groovy,JaCoCo,Ansible,SAML

Write down steps to add new linux node of Jenkins?

  1. Install JAVA and necessary packages to the node
  2. Create a user on the agent to be used by Jenkins
  3. Generate an ssh key. …
  4. Add the public key to the authorized_keys file of the Jenkins user on the node.
  5. Add the agent node in Jenkin UI.
  6. Go to Manage Jenkins, then Manage Nodes, then click New Node. Here you can give your node a name, then select Permanent Agent and click OK.
  7. Select Launch Slave Agents via SSH for Launch Method.
  8. Enter the hostname or IP address of node in the Host field.
  9. Click the Add button next to Credentials and select the Jenkins scope.
  10. For the credential, set Kind to SSH username with private key.
  11. Enterjenkins for the username.
  12. For the private key, select Enter directly. Then, copy the contents of your private key file (~/.ssh/id_rsa by default) and paste it into the Key box.
  13. Click Save to save the new node.

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

Git Workflow helps in identifying a branching strategy for the Project.

A Git workflow is a recommendation for how to use Git to accomplish work in a consistent and productive manner

  1. GitFlow
  2. Fork
  3. Feature Branch
  4. Centralized Git workflow

What is continuous integration?

CI tool does the following:

  • Automates SDLC phases
  • Integrates various tools
  • Provides Immediate feedback for various stages in SDLC
  • can be scheduled (trigger)