Job Summary:
As a DevOps engineer working on Perforce to GitHub migration, you are expected to be experienced with GitHub Enterprise and Perforce, be familiar with version control concepts, possess scripting ability (especially in Python or shell), and have adequate knowledge of large-scale source control systems to efficiently execute the migration and handle potential pitfalls.
To be successful in this role, you must be a motivated self-starter and self-learner, possess strong problem-solving skills; and be someone who embraces challenges.
Key Responsibilities:
Analyzing and preparing Perforce repositories, including cleaning workspaces, merging streams, and removing unnecessary files. Handling large files efficiently by configuring Git Large File Storage (LFS) to accommodate files that exceed GitHub's size limits (typically 100MB per file). Using git-p4, a Python-based tool, to clone Perforce repositories to Git, and managing the migration process incrementally to ensure data integrity. Deciding on the migration scope, such as how much history to migrate and planning repository structure. Managing branch renaming and organizing the Git repository for an optimized workflow post-migration. Collaborating with development teams to determine migration points and confirm a shared migration strategy. Troubleshooting issues related to file sizes, Python compatibility with git-p4, and network or permission issues during migration.
Required Qualification
We are looking for a DevOps Engineer with deep technical and analytical skills.
Strong knowledge of Git/GitHub version control systems and preferably Perforce (Helix Core), including understanding their differences and workflows.· Familiarity with cloud infrastructure (AWS, Azure) and containerization technologies (Docker, Kubernetes).
Proficiency with migration tools like git-p4, including installation, configuration, and troubleshooting. Ability to analyze Perforce repositories to identify large files and manage them using Git Large File Storage (LFS) to meet GitHub size limits. Scripting skills, especially in Python and shell scripting, to automate migration tasks and handle repository restructuring. Experience in planning and executing source control migrations, including deciding migration scope (e.g., relevant history retention), branch mapping, repository restructuring, and user/permission translation. Familiarity with CI/CD pipelines integration and validation post-migration to ensure testing and deployment workflows are not disrupted. Understanding of source code management best practices, version history handling, and repository organization in GitHub. Communication and collaboration skills to work with teams to decide on migration timing and strategies and addressing other technical challenges. Practical migration experience, source control expertise, and the ability to manage repository history and large file storage configurations for a smooth transition from Perforce to GitHub.