UNIT-III
Introduction to project management: The need for
source code control, the history of source code
management, Roles and code, source code
management system and migrations, shared
authentication, Hosted Git servers, Different Git server
implementations, Docker intermission, Gerrit, The pull
request model, GitLab
Introduction to Project Management
The need for source code control,
Source code control (also known as version control) is an
essential part of DevOps practices. Here are a few
reasons why:
◦ Collaboration
◦ Traceability:
◦ Branching and merging:
◦ Continuous integration and delivery
History of source code management (SCM)
SCM systems were simple and focused on tracking
changes to source code over time.
internet led to a proliferation of new SCM tools, including
CVS (Concurrent Versions System), Subversion, and
Git.
Git is the most widely used SCM system in the world, and is a
critical component of DevOps practices.
Cloud-based platforms, modern SCM systems also offer
features like collaboration, code reviews, and integrated issue
tracking.
Roles and code in DevOps
Roles:
Development team: responsible for writing and testing code.
Operations team : Responsible for the deployment and
maintenance of the code in production.
DevOps team: Responsible for bridging the gap between
development and operations, ensuring that code is delivered
quickly and reliably to production.
Code:
Code is the backbone of DevOps and represents the
software that is being developed, tested, deployed, and
maintained.
Code is managed using source code control systems
like Git, which provide a way to track changes to the code
over time, collaborate on the code with other team
members and automate the build, test, and deployment
process.
Code is continuously integrated and tested, ensuring that
any changes to the code do not cause unintended
consequences in the production environment.
Source code management system and migrations
Software application that provides version control for
source code
Versions helps ensure that code can be collaborated on
by multiple team members.
SCM systems typically provide features such as version
tracking, branching and merging, change history, and
rollback capabilities
SCM systems include Git, Subversion, Mercurial, and
Microsoft Team Foundation Server.
the process of moving code from one environment to
another.
a) Testing environment
b) production environment.
SCM benefits for managing code migrations
1. Version Control
2. Branching and Merging
3. Rollback
4. Collaboration
5. Automation
Version Control:
a)systems keep a record of all changes to the code and
track the code as it moves through different environments.
b) Multiple people can work simultaneously on a single project
Benefits of the version control system:
Enhances the project development speed with efficient
collaboration,
The employees through better communication and
assistance,
Reduce possibilities of errors and conflicts
● Employees or contributors irrespective of the different
geographical locations through this VCS,
● Different working copy is maintained and not merged to
the main file unless the working copy is validated.
● Helps in recovery in case of any disaster or contingent
situation,
● Informs us about Who, What, When, Why changes have
been made.