Optimize Your Enterprise Git Webinar

39
1 Copyright ©2015 CollabNet, Inc. All Rights Reserved. 1 Copyright ©2015 CollabNet, Inc. All Rights Reserved. Optimize Your Enterprise Git

Transcript of Optimize Your Enterprise Git Webinar

1 Copyright ©2015 CollabNet, Inc. All Rights Reserved.1 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Optimize Your Enterprise Git

2 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Bob Jenkins

Presenter

Bob Jenkins is Director of Version Control services at CollabNet.

His background includes over 19 years focused on Application

Lifecycle Management tools with a particular focus on version

controls from ClearCase to Subversion and Git. At CollabNet, he

primarily focuses on consulting with enterprises planning to adopt

Git and Subversion along with developing end user training

materials for both version control tools.

3 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

• Optimize – to make as effective, perfect, or useful as possible

• Your – of, belonging to, or associated with you;not someone else’s ideal or example

• Enterprise – relating to an overall business or a firm, usually a large one

• Git – the leading distributed version control tool

Goal of this webinar is to help identify ways CollabNet, and our TeamForge Platform, can help your organization adopt and get the most out of Git.

Optimize Your Enterprise Git?

4 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

• Migration and adoption

• Handling the realities of hybrid version control

• Supporting a larger solution (e.g., Jenkins, Jira)

• Responding to latency and server load

• Working more effectively with Git branches

• CollabNet solutions

• Questions & answers

Agenda

5 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

• CollabNet has provided lots of materials around migration that you should take advantage of including a webinar on SCM Migration -http://visit.collab.net/15Q2SCMMigrationWebinar41610amET_Reg.html

• Fundamentally, a migration to Git must:

– Be done only after confirming that a project team’s requirements are successfully satisfied by Git

– Commence only after a project team has carefully considered their repository structure (e.g., for various reasons Git will commonly require more repositories), branching model, etc.

– Consider all the different aspects of migration beyond just the moving of repository data from the legacy tool repository into a Git repository (e.g., build scripts, integrations, deployment processes, etc.)

– Conduct both tool and process training for the project team

– Include only the TRULY necessary data in the migration

Migration

6 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

• CollabNet has also provided lots of materials around adoption that you should take advantage of including a webinar on Enterprise Git Adoption–http://visit.collab.net/15Q1-Enterprise-GIT-Webinar-318-US-10am-EST_Reg.html

• Fundamentally, in adopting Git across an enterprise the following must be considered:

– Not all projects have the same requirements and may not be satisfied by the same tool so confirm Git’s fit before migrating that project team.

– Adoption has to happen in consideration of a project team’s own schedule (e.g., not near a release deployment, but perhaps during a code freeze or start of new development).

– Adoption has to have an enterprise driver both in purpose and in an overall schedule to succeed.

– Projects are not created equal so consideration must be made with regard to size (team and code), complexity, and criticality to your enterprise. Act accordingly, but do not put off larger, more complex and more critical projects to the end, but mix them in along the way.

Adoption

7 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Hybrid Version Control

8 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

• Looking at the forest, enterprises often want to see every tree as the same.

• Not every team/project has the same requirements and every tool is not designed to do everything.

• Don’t fall into “if the only tool you have is a hammer, everything looks like a nail”.

• Analysts say enterprises have hybrid solutions today and future is Git AND Subversion

• Each tool is a better fit for a specific set of use cases and should be applied as such

• Having multiple tools should still allow for common management and browsing

Hybrid Enterprise Version Control

9 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Clicking a Git or Subversion repository name in TeamForge brings you to the repository View screen of the native code browser.

Native Code Browser – View Repository Structure

Committer avatar

Author avatar (Git)

List of root repository files

and directories

View, Changes and Branchestabs (Branches unique to Git)

Committer avatars Select a branch to view

10 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

• The Changes tab shows this chronological list of recent commits.

Native Code Browser – View Code Changes

Click to expand commit details

Chronological list of recent

commits grouped by

date

Browse repo from

this commit

• The committer and author (Git only) avatar is shown for each commit.

Committer avatar

Author avatar (Git)

11 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

All Associated Events on the Same Screen

View and drill down on specific activities and events associated with the committed code

Commits

12 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

• Easily discern different syntax with language-based color highlighting

• Toggle on annotations to quickly see when each line of code was last changed and by whom

• Click on commit ID to see full commit details and related associations

Effectively Navigate within the Code File

13 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Integrations – Jenkins, Atlassian’s JIRA

14 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

• Definition varies based on how tools are connected and the goal for the integration.

– Some integrations have limited functionality, but are easier to implement.

– Some integrations are more fully functioned, but, as a result, are more complex.

– Some create a link between the tools, but do not really build on the functionality of either.

– Some take the best of these approaches (if the tools allow and the overall connection platform has a foundational goal to provide value through integration).

• Integrations need to connect logical tools together to provide a larger solution.

• Looking at the whole development process, there are integrations that bring value both upstream and downstream.

– Upstream: defects, issues, requirements, and tasks integrated with Git = change management

– Downstream: build systems, artifact repositories, deployments, etc. integrated with Git = continuous integration, DevOps, etc.

Integration Means What?

15 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Best Tools for the Job

16 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Associate Git Pushes to Work Items, Jenkins Jobs

17 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Depict build activity over a period of time including the count of builds and the average build duration

Build Activity Reports

18 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

• The TeamForge JIRA add-on installs through a web browser

• Developers associate JIRA issues to TeamForge source code check-ins using the commit message

• TeamForge tracks associations between JIRA and TeamForge source code check-ins and shows them in JIRA or TeamForge

JIRA Integration – How It Works

$ git commit -am ‘[MD-1] refactored for new API guidelines'[master 78b2670] [MD-1] refactored for new API guidelines1 files changed, 2 insertions(+), 1 deletions(-)

19 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

JIRA Integration – User Experience

The TeamForge tab in JIRA shows direct associations to the JIRA issue including TeamForge commits and upstream activities

“Trace” shows the full traceability chain from requirements to deployment on a timeline, including commits and downstream events, e.g., CI builds, code reviews, and binary artifacts

20 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

TeamForge enables unique traceability across tools, teams, and processes by associating JIRA issues with related downstream events/artifacts and presenting them all in one place via the Associations Viewer

Unprecedented Visibility and Traceability

Expand the traceability chain to expose new layers of associations and relationships

Each node represents an activity (issue, commit, etc.) and its timeline. Lines indicate relationships between activities

The chain of associations shows how requirements became working software, with each activity detailed along the way

Timeline

JIRA issue

Commits

Code reviews

CI builds

Additional associations available

21 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Git Replication

22 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

• Even for a distributed version control tool, there is an inherent requirement for a “central point of truth”.

• A large, geographically dispersed development team can easily stress central resources.

– Fetch (read) operations typically contribute more than 90% of the server load

– A single fetch operation requires .5 CPU due to the strong encryption and compression used by Git’s protocols.

– Build systems increase stress on the server since as they almost exclusively execute fetches

• There are additional issues that impact fetch operations for remote team members:

– Network latencies

– Outages

Replicate a Distributed Version Control Tool????

23 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Today’s replication functionality:

• Is focused on the repository data and either does not include access permissions or uses a different RBAC for the replicas.

• Requires an always stable, reliable, fast network connection between master and slave.

• Manages only a single master and its slaves from the same platform.

• Has complex user interfaces to use in managing replication and checking its status.

Why Not Use Currently Available Replication?

24 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

CollabNet‘s Git Replication:

• Allows enterprises to setup local and remote Git mirrors, reducing server load and improving fetch performance for developers and build systems across the globe

• Replicates access rights along with repository data, protecting assets on every replica

• Is resilient to slow, unreliable network connections between data centers.

• Provides a truly user friendly interface for setting up replicas and checking their status

TeamForge Git Replication - Differences

Instance 1

Project A Project B Project C

Instance 2

Project A Project B Project C

Instance 3

Project A Project B Project C

Site S

Site R Site T

25 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

From setting up Git replica servers to creating and cloning a Git repository to monitoring the status of sync operations, there is one common, intuitive user interface

Git Replication Made Easy

26 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Detailed Commands for Cloning and Configuration

1

2

27 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Branch Support

28 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Native Code Browser – Git Branch Support

With Git branch support, you can see all centralized branches in your Git repository as well as their relationship to another branch (e.g. master).

Committer avatar

Active branches

Click to compare branch against ‘master’

Author avatar (Git)

29 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Compare feature branch with master (example)

Compare Centralized Git Branches

30 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

31 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

• #1 open application development, delivery, and collaboration platform proven in global deployments as large as 80,000 users and 1 billion commits

•Helps leading companies and government agencies accelerate application development and delivery while ensuring governance, compliance, and IP security

Enables Fast, Efficient, and Governed Software Delivery

32 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

…by Offering a Full Development, Delivery, and Collaboration System

codecode

planplan

test test

release release

deploy deploy

monitormonitor

operate operate

build

build

Governance, traceability, and IP security across tools, assets, processes, and teams

Scalability

planreview

33 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Effective Teams

…that Enables and Connects Teams, Processes, Tools, and IP

Optimal Processes Best Tools Secure IP

34 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Git Services

Git Consulting and Training Offerings Duration Delivery

Git Applied WorkshopThe Subversion Applied Workshop is focused on formulating a process that meets an organization’s needs for version control and configuration management and defining how to best utilize Subversion to meet those needs.

2 days Onsite

Git Migration Mentoring Workshop The Git Migration Mentoring Workshop is focused on preparing an organization to migrate existing version control data into Subversion.

2 days Onsite

Git Custom ConsultingCustom Git consulting specific to a customer’s needs delivered by a CollabNet SCM expert onsite or remotely.

Per SOW OnsiteRemote

Git for Developers – EnterpriseThis course offers a complete introduction to Git. It includes topics on Git basics like the repository, revisioning, history logs, Git work cycles, Git merging, branching and tagging, and best practices.

1 day RemoteWeb-based

Git for Developers – Enterprise w/labsThis course offers a complete introduction to Git. It includes topics on Git basics like the repository, revisioning, history logs, Git work cycles, Git merging, branching and tagging, and best practices.A hands-on lab is included.

2 days Onsite

Git for Developers Train the TrainerThis course is designed for large organizations with a dedicated training staff that want to learn how to conduct the Subversion for Developers training for their organization.

2 days Onsite

35 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

TeamForge/Git SupportDescription Community Silver Gold Platinum

Application Options

General Installation ● ● ● ●

CollabNet Certified Integrations ● ● ● ●

Functional Use ● ● ●

Support Hours 8x5 24x5 24x7

Annual Case Allotment 74 120 Unlimited

Named Contacts 2 5 10

E-mail Support ● ● ●

Phone Support ● ●

Personal Support Admin Optional Optional Optional

Live Chat ●

Initial Incident Response

Critical – P1 4 Hours 2 Hours 1 Hour

Major – P2 24 Hours 16 Hours 8 Hours

Minor – P3 2 – 3 Days 1 – 2 Days 24 Hours

Low – P4 1 – 2 Weeks 1 Week 5 Days

Source: http://www.collab.net/support/support-programs

36 Copyright ©2015 CollabNet, Inc. All Rights Reserved.36 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Questions?

37 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Version Control, Git and Your Enterprise Articlehttp://www.infoq.com/articles/git-enterprise

Software Downloads (TeamForge, GitEye, Integrations)http://www.collab.net/downloads

Git Blogshttp://blogs.collab.net/git

Learn More

38 Copyright ©2015 CollabNet, Inc. All Rights Reserved.38 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Thank You

Contact Details:Bob Jenkins

[email protected]

39 Copyright ©2015 CollabNet, Inc. All Rights Reserved.39 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

© 2015 CollabNet, Inc., All rights reserved. CollabNet is a trademark or registered trademark of CollabNet Inc., in the US and other countries. All other trademarks, brand names, or product names belong to their respective holders.

CollabNet, Inc.4000 Shoreline Court, Suite 300South San Francisco, CA 94080

www.collab.net

+1-650-228-2500+1-888-778-9793blogs.collab.nettwitter.com/collabnetwww.facebook.com/collabnetwww.linkedin.com/company/collabnet-inc