Quantcast
Channel: Cloud Training Program
Viewing all articles
Browse latest Browse all 1905

[Recap] Day 3: Git & GitHub, Integration with Jenkins [DevOps for Beginners]

$
0
0

This blog will share some quick tips, including Q&A’s and valuable links from Day 3 of our recently launched new batch of DevOps for Beginners Training Program.

On our Day 3 Live Session, we covered Git, GitHub and Integration with Jenkins.

In the previous week, on our Day 2 Live Session, of the DevOps for Beginners Training Program, we have covered topics like DevOps And Other Frameworks, DevOps Roles and Responsibility, DevOps Practise, DevOps And Automation, Adopting DevOps.

A week before that, in the Day 1 Live Session of the DevOps for Beginners Training Program, we have covered Introduction to DevOps, DevOps Principles, DevOps Culture, and Characteristics of a DevOps Culture Change.

So, here are some of the Q&A’s asked during the Live session.

Version Control System

Version Control System(VCS) helps software developers work together and maintain a complete history of their work. It allows developers to work simultaneously. But also does not allow overwriting each other’s changes. And it also keeps maintains a history of every version.

Version Control System is of two types, they are:

  • Centralised version control system (CVCS) uses a central server to store all files and enables team collaboration. But the major drawback of CVCS is its single point of failure, i.e., failure of the central server.
  • Distributed version control system (DVCS) clients check out the latest snapshot of the directory and fully mirror the repository. If the server goes down, then the repo from any client can be copied back to the server to restore it. Every checkout is a full backup of the repository.

 

Version ControlQ1: Why is the Version Control System (VCS) implemented in the Organizations?

Ans: Before the Version Control System, there were no ways to track the change done to the Source; the developers didn’t have a central place for the source code, and also, they couldn’t audit the source code as the history was also not available.

VCS eliminates all these issues, as it has features that allow to track changes, search and audit history, and allows two different ways to store and share the source code.

Q2: What is a distributed VCS?

Ans: In this, every developer has a local copy of the main repository on their computer so if the server goes down then the repository from any client can be copied back to the server and restored. Every checkout is a full backup of the repository.

VersionControlSystem_Diagram

Q3. What are the benefits of using a Version Control System (VCS)?

Ans: There are many benefits of VCS; we have listed a few of them below:

  • All the team members can work efficiently on any file at any time.
  • By using VCS, you can have the flexibility of merging all changes into a standard version.
  • VCS keeps a record and stores all the previous versions of your code. You can request to see and check any of the previous versions according to your need.
  • In VCS, when you save a project, you need to add a short description of the work you have done or changes in the Project. This feature allows you to keep track of all the changes done by you and other people.

Git

Git is an example of a distributed version control system for following modifications in source code during software development. It is designed for organising work among programmers, but it can be used to track changes in any set of files. Its goals include speed, data integrity, and support for distributed, non-linear workflows.

GitHub

GitHub is a web-based Git repository hosting service, which gives all of the distributed revision control and source code management (SCM) functionality of Git and adds its features.

Q4. Which programming language is used in Git?

Ans: Git uses ‘C’ language. GIT is fast, and the ‘C’ language makes this possible by reducing the overhead of run times associated with high-level languages.

Q5. What are the advantages of Git?

Ans: These are the below-mentioned benefits:

  • Free and open-source: No need to purchase and can be used anywhere.
  • Fast and small: No need to connect to the central server. All the operations can be performed on the local copy stored on the developer machine making it really fast.
  • Implicit backup: Every checkout is a full backup of the repository, hence multiple copies are available.
  • Security: Git uses SHA1 algorithm to secure the data stored within the repository.
  • Easy branching: Git branches are easy and cheap to merge. Every small change to your code creates a new branch.

Branching

A branch is simply a new version of the source code created when someone changes the source code. Branch allows you to work independently and give you an isolated environment where you can develop without worrying about the original source code. And the branch where you want to merge all the changes is called the Main Branch or Master Branch, depending on the Version Control System you are using.

BranchingQ5: What is a Branch?

Ans: A branch depicts an independent line of development. You can think of a branch as an abstraction for the edit/stage/commit development process.

Q6: What is the difference between merge and rebase?

Ans: Merging is how Git lets users combine all of their individual branches into a single branch (Master branch) by committing all the changes into the Master branch. Git merge command combines multiple series of commits into one combined history. And you can check the history of the master branch to check how many branches you have merged in the master as in all the available branches commits.

For ex-, You created a dev branch and then you created a feature branch out of the dev branch. Now first feature branch will merge in the dev branch then the dev branch will merge back to the Master Branch.

In the merge, you can see the history of the Master Branch and can identify the two separate branches. As in rebase, you can only see a single branch. That’s the dev branch.

Jenkins

Jenkins is an open-source automation tool written in Java with plugins built for Continuous Integration purposes. Jenkins is used for building and testing the software projects continuously making it easier for developers to continuously work on the betterment of the product by integrating changes to the project, and making it easier for users to obtain a fresh build.

It also allows you to continuously deliver your software by integrating with a large number of testing and deployment technologies.

Jenkins
Q7
: Can Jenkins be used or integrated with any public cloud?

Ans: Yes, you can integrate Jenkins with any of the major public cloud platforms.

Q8. Is Jenkins a build tool?

Ans: Jenkins is an open-source automation tool written in Java with plugins built for Continuous Integration purposes. Jenkins is used to build and test your software projects continuously making it easier for developers to integrate changes to the project, and making it easier for users to obtain a fresh build.

Jenkins_Pipeline

Quiz Time (Sample Exam Questions)!

With our DevOps for Beginners training program, we cover 100+ sample exam questions to help you prepare for the certification.

Check out one of the questions and see if you can crack this…

Ques: What of the following is NOT a typical element in a DevOps toolchain?

A. Monitoring tools

B. Test automation

C. Version control

D. Service desk incident management systems

Here is the answer to the questions shared last week (Scroll down at the end of this post for the question).

Which DevOps principle aims to shorten and amplify right to left feedback loops?

A. The First Way

B. The Second Way

C. The Third Way

D. The Fourth Way

Answer: B

Explanation: The Second Way aims to shorten and amplify right to left feedback loops. The goal of almost any process improvement initiative is to shorten and amplify feedback loops so necessary corrections can be continually made.

The outcomes of the Second Way include understanding and responding to all customers, internal and external, shortening and amplifying all feedback loops, and embedding knowledge where we need it.

Feedback

We always work on improving and being the best version of ourselves from the previous session hence constantly ask feedback from our attendees. Here’s the feedback that we received from our trainees who had attended the session…

Day3Related/References:

Next Task For You

Begin your journey towards becoming DevOps Foundations certified by joining our FREE Class.

The post [Recap] Day 3: Git & GitHub, Integration with Jenkins [DevOps for Beginners] appeared first on Cloud Training Program.


Viewing all articles
Browse latest Browse all 1905

Trending Articles