0% found this document useful (0 votes)
24 views20 pages

Devops Unit III

DevOps project management combines software development and IT operations to improve collaboration and accelerate software delivery through automation and Agile principles. Source Code Control is crucial for tracking code changes, enabling collaboration among developers, and supporting versioning and rollback capabilities. Additionally, tools like GitLab and Docker enhance the DevOps workflow by providing version control, continuous integration, and consistent application environments.

Uploaded by

pratima depa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views20 pages

Devops Unit III

DevOps project management combines software development and IT operations to improve collaboration and accelerate software delivery through automation and Agile principles. Source Code Control is crucial for tracking code changes, enabling collaboration among developers, and supporting versioning and rollback capabilities. Additionally, tools like GitLab and Docker enhance the DevOps workflow by providing version control, continuous integration, and consistent application environments.

Uploaded by

pratima depa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 20

UNIT-III

DevOps Project Management?

• Definition: DevOps project management integrates


software development and IT operations to enhance
collaboration and accelerate the delivery of high-quality
software.
• Key Focus:
– Collaboration between cross-functional teams.
– Automation in testing, integration, and deployment.
– Agile Principles for fast and iterative delivery.
• Why is it Important?
– Faster delivery of features.
– Improved communication between teams.
– Continuous feedback loops.
The Need for Source Code Control
Source Code Control, also known as Version Control,
is essential for tracking changes to code over time.
• Why Use Source Code Control?
– Collaboration: Multiple developers can work on the
same codebase simultaneously.
– Versioning: Keeps track of all changes made to the
code.
– Branching: Supports parallel development (e.g.,
feature branches).
– Rollback: Ability to revert to previous versions if
something breaks.
Key Features of Source Code Control

• Collaboration and Teamwork: Developers can


work together using a central repository.
• Versioning: Keep track of every modification
to code files.
• Branching and Parallel Development: Allows
different features to be worked on
simultaneously without conflict.
• Auditing and Compliance: Logs every change
for compliance and auditing.
Th e Evo lu ti o n o fSo u rce C o d e M an age m e n t(SC M )

• Early Days: Local Version Control Systems (LVCS) tracked


changes only on local machines.
• Centralized Version Control Systems (CVCS): Used a central
server to store and manage code.
• Distributed Version Control Systems (DVCS): Examples
include Git and Mercurial; developers can work offline and
collaborate more efficiently.
• Integration with CI/CD: SCM systems now trigger
automated builds and tests.
• Infrastructure as Code (IaC): SCM also manages
infrastructure configurations.
Roles and code
1. Developer/Software Engineer
2. Operations Engineer/SysAdmin
3. Quality Assurance (QA) Engineer
4. Release Manager
5. DevOps Engineer
6. Scrum Master/Agile Coach
7. Product Owner/Business Stakeholder
Source Code Management System in DevOps

A Source Code Management (SCM) system is a software tool that


enables teams to manage and track changes made to source
code throughout its lifecycle.
➢ Version Control
➢ Collaboration.
➢ Change Tracking
➢ Branching and Merging
➢ Auditing and Compliance
Code Migrations in DevOps:
Code migration refers to the process of moving code changes from one
environment to another, typically from development to testing, staging, or
production environments.
➢ Deployment Automation.
➢ Continuous Integration and Delivery
➢ Environment Synchronization
➢ Rollback and Recovery
➢ Version Control Integration
Shared authentication

• Shared authentication in DevOps means using a single authentication


system across different tools and services.
• It allows users to access multiple resources without needing separate
logins for each component.
• Centralized authentication is used, where a central identity provider
manages user credentials, authentication, and authorization.
• Single Sign-On (SSO) is a common approach in shared authentication,
enabling users to authenticate once and access multiple tools
seamlessly.
• Federated identity management is often utilized, allowing users to
authenticate with their preferred identity provider, which then shares
authentication information with other trusted systems.
• Shared authentication enhances security by enforcing strong
authentication methods and centralized access control.
• It simplifies access management by ensuring consistent user permissions
across the DevOps ecosystem.
• It improves productivity by eliminating the need for managing multiple
Hosted Git servers
• Hosted Git servers are cloud-based platforms that provide Git
repository hosting services.
hosted Git server options:
➢ Centralized Repository.
➢ Version Control
➢ Collaboration:
➢ Access Control
➢ Code History and Auditing
➢ Integration with CI/CD
➢ Issue Tracking
➢ Third-Party Integrations
➢ Scalability and Availability
➢ Security
Different Git server implementations
• GitLab: Complete DevOps platform offering version control,
CI/CD pipelines, issue tracking, and more.
• GitHub: Popular for open-source collaboration, pull
requests, and GitHub Actions for CI/CD.
• Bitbucket: Integrates with Atlassian tools like JIRA for project
management.
• Azure DevOps: Microsoft-hosted service with Git, CI/CD, and
project tracking.
• AWS CodeCommit: AWS CodeCommit is a fully managed Git
service provided by Amazon Web Services (AWS).
• Gitea: Gitea is a lightweight, open-source Git server
implementation that can be self-hosted.
Docker intermission

• Docker is a popular open-source platform that


allows you to automate the deployment,
scaling, and management of applications using
containerization.
• It provides a consistent environment for
software to run, ensuring that applications
work reliably across different systems
Features of Docker

• Containerization
• Portability
• Image-Based
• Microservices Architecture
• Resource Efficiency
• Orchestration
• DevOps Integration
• Ecosystem and Community
• Containers provide application isolation and consistency across different
systems, ensuring that applications run reliably.
• Docker images are read-only templates that contain all the necessary
files, dependencies, and configurations to run an application.
• Docker containers are portable and can be run on any system that has
Docker installed, simplifying deployment across different environments.
• Docker containers are lightweight and resource-efficient compared to
traditional virtual machines, allowing for optimized resource utilization.
• Docker can be integrated with container orchestration tools like Docker
Swarm or Kubernetes to manage and scale containerized applications.
• Docker is commonly used in DevOps workflows to streamline software
development, testing, and production environments.
Gerrit
• Gerrit is a web-based code review tool which
is integrated with Git and built on top of Git
version control system.
• It provides a platform for developers to review
and approve code changes before they are
merged into the main codebase.
Features of Gerrit

• Gerrit is a free and an opensource Git version control system.


• The user interface of Gerrit is formed on Google Web Toolkit.
• It is a lightweight framework for reviewing every commit.
• Gerrit acts as a repository
• Submit Changes
• Git Integration
• Changesets
• Review and Feedback
• Access Controls
• Collaboration
• CI Integration
• Extensible and Customizable
• Open Source
The pull request model:
• The pull request model is a common workflow used in
software development, particularly in projects that utilize
version control systems like Git.
• It is a way for developers to propose changes to a codebase
and collaborate with their peers on those changes before they
are merged into the main codebase.
• ➢ Fork the repository: Create a personal copy of the original
repository.
• ➢ Create a branch: Make a new branch within your forked
repository.
• ➢ Make changes and commit: Modify the codebase in the
branch and create commits to track the modifications
• ➢ Push the branch: Upload the branch with its commits to
your forked repository.
• Create a pull request: Submit a request to merge the
branch's changes into the original repository,
explaining the purpose of the changes.
• ➢ Review the changes: Other developers review the
pull request, providing feedback and suggestions
• . ➢ Iterate and address feedback: Make additional
changes and commits to the branch based on the
feedback received.
• ➢ Approve and merge: Once the reviewers are
satisfied, the pull request is approved, and the
branch's changes are merged into the original
repository.
GitLab
• GitLab is a web-based platform for collaborative software
development.
• It provides a centralized repository for managing code using Git.
• It offers features for issue tracking, CI/CD, code review, and more.
• Teams can collaborate efficiently and streamline development
processes.
• It helps deliver high-quality software through effective teamwork.
• Git repository hosting: GitLab allows you to host and manage Git
repositories with support for branching, merging, and tagging.
• Issue tracking: It provides an integrated system for managing
tasks, bugs, and feature requests, enabling collaboration and
progress tracking.
➢ Continuous Integration and Deployment (CI/CD): GitLab offers
robust CI/CD capabilities with customizable pipelines for
automating build, test, and deployment processes.
➢ Collaboration and code review: GitLab facilitates code collaboration
with features like commenting, discussions, and change suggestions
for effective teamwork.
➢ Wiki and documentation: GitLab includes a wiki feature for creating
and organizing project documentation in a collaborative manner.
➢ Integration and extensibility: GitLab integrates with third-party tools
and services, such as issue trackers and project management tools,
and provides APIs and webhooks for custom integrations.
➢ Security and permissions: GitLab ensures code and data security
with features like role-based access control (RBAC), protected
branches, and merge request approvals.

You might also like