2.1 KiB
2.1 KiB
title, type, tags, sources, last_updated
| title | type | tags | sources | last_updated | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Shift and Lift | concept |
|
|
2026-05-09 |
Shift and Lift
Shift and Lift(搬移重构)是 GitHub Enterprise → GitLab 迁移中的两种主要策略之一:将代码直接复制到 GitLab,同时对 CI/CD 流水线进行转换和重构。
Definition
Shift and Lift = 代码搬移(Shift)+ 流水线重构(Lift)
- 将源代码一次性复制到 GitLab
- 同时将 GitHub Actions/Jenkins 等流水线转换为 GitLab CI/CD
- 源 GitHub 仓库在验证后废弃
适用场景
- 各团队已明确了解自身 GitHub 使用情况
- 流水线可预测,重构工作量可控
- 有足够技术能力进行 GitLab CI/CD 重构的团队
迁移步骤(OpenText 建议)
- 盘点资产:识别 GitHub 中所有仓库和流水线
- 规划流水线:对照 GitLab CI/CD 语法设计目标流水线
- 代码迁移:将代码复制到 GitLab 仓库
- 流水线实施:配置 GitLab CI/CD pipelines
- 验证:测试代码和流水线在 GitLab 的运行
- 废弃 GitHub:确认无误后废弃源仓库
- 更新 PHT:在 PHT(Product Hub Platform) 中更新映射状态
迁移完成标准
OpenText 定义的"Definition of Done":
- ✅ 代码迁移完成
- ✅ 流水线转型完成
- ✅ PHT(Product Hub Platform) 更新完成
核心挑战
- 流水线复杂性:GitHub Actions / Jenkins → GitLab CI 的语法差异
- 凭证管理:GitHub Secrets → GitLab CI Variables 的迁移
- 网络连通性:GitLab 代理配置(Brook Park GitLab Proxy)
与 Repo Mirroring 的对比
| 维度 | Shift and Lift | Mirroring |
|---|---|---|
| 源仓库 | 废弃 | 保持不变 |
| 流水线 | 需重构 | 保持原样 |
| 风险 | 中高 | 低 |
| 适合团队 | 有规划能力 | 需要过渡期 |
详见 Repo-Mirroring 迁移方案