Get prepared For GIT

git.jpg

Overview

For achieving successful integration of GIT into your current ALM system, it is best to get prepared for it by following this document.

The document includes:

  • Guideline questions and information that you should answer and collect in order to understand your current system, your requirements from the new system and more relevant information in order to perform the best process toward those requirements
  • Top-level integration process plan description
  • List of key factors, main steps and risks of the integration process

Guideline questions and required information

guidelines.jpeg

Your current system information

  • Your current source control
  • Which source control solution is being used (SVN, CVS, ClearCase, other or none)? Add information about where it is being hosted (server information, etc.)
  • Source code size, number of repositories, extent of 3rd-party artifacts and other binary files in the source tree or alternative solutions used for it (Artifactory, Nexus, File-system, etc.)
  • Your current build solutions and tools (e.g. Jenkins, Maven, Gradle)
  • Your current development environments (e.g. Eclipse, IntelliJ, VisualStudio)
  • Your current issue tracking solution and tools (e.g. Jira, Bugzilla) and related tools
  • Number of developers, number and size of R&D teams
  • Your current network topology - number of sites, regions and related information
  • Information about your current ALM/Release process
  • Reasons for the decision to start using GIT Knowledge of GIT among the team(s)

Requirements from the new system

  • Should the migration include commit history? (We strongly recommend not to migrate history. Instead, keeping the old repository as read-only should be a better solution)
  • Should the structure of the code tree be changed after the migration? Is it required to split the current repositories into more repositories?
  • Permission requirements: permission levels, integration with active directory users and/or groups
  • Required development and deployment processes (CI/CD, agile, release-cycles, branching model)
  • Required development environment (IDEs, OS, Git-client tools, etc.)
  • Expected growth (code, teams, etc.)
  • Integration with other systems and tools (build tools, issue tracking, deployment, artifact-repositories, etc.)
  • Definition of done - how will a successful migration be tested upon?
  • Time-time - events that may have impact on the migration process
  • Required backup
  • Expected network topology

Other requirements

  • Git introduction and/or workshops for users
  • Support after the migration

Top-level integration process plan description

toplevel.jpg

  • Establishment of the migration server
  • First draft migration - whether it is a manual or automatic migration
  • (in parallel to the above steps) decision about the Git hosting service solution and initialization of the process of establishing it
  • Using the draft-migration repository for embedding with other systems for inspecting the various needed integrations and all the needed adjustments
  • Dry-run migrations with time measurements
  • Implementing the migration with all its aspects
  • Performing the actual migration as the end results of the above steps

List of key factors, main steps and risks of the integration process

key-to-success.jpg

  • Code tree size and percentage of binary-files
  • Is a revisions/commits-history migration a must and the size of it
  • Availability of automatic migration tools and its compatibility to the current code tree structure
  • The actual migration process elapsed time
  • How complex is the integration with other tools?

support.png

The above document is based on a document Tikal DevOps group is using as a tool when aproaching a new customer project that considers using GIT. For any question or help for such project, don’t hesitate to ask for our assitance

Thank you for your interest!

We will contact you as soon as possible.

Send us a message

Oops, something went wrong
Please try again or contact us by email at info@tikalk.com