道家人 发表于 2024-9-3 09:48:51

如何从 AWS CodeCommit 迁移到极狐GitLab?

本文将分享如何从 AWS CodeCommit 服务无缝迁移到极狐GitLab,并且使用极狐GitLab 的一体化 DevSecOps 平台功能来进行软件研发。
https://img2024.cnblogs.com/other/3375936/202409/3375936-20240902102955483-2125583917.png
2024 年 7 月 25 日,AWS 官方发布了一则重要通知:旗下的代码托管服务 AWS CodeCommit 服务将不再担当新用户的注册,老用户可以继续使用,但是该产品不会再添加新功能,只是维护其安全性和可靠性。
官方表述:After careful consideration, we have made the decision to close new customer access to AWS CodeCommit, effective July 25, 2024. AWS CodeCommit existing customers can continue to use the service as normal. AWS continues to invest in security, availability, and performance improvements for AWS CodeCommit, but we do not plan to introduce new features.
这项官宣也就意味着研发团队不得不寻找对应的替代品,而极狐GitLab 作为一个企业级的一体化 DevOps 平台,是可以对 AWS CodeCommit 服务进行平替的。下面的内容将完备分享如何从 AWS CodeCommit 迁移到极狐GitLab。
极狐GitLab 作为 GitLab 在中国的发行版,可以一键私有化部署,中文体验更好,下载安装可以直接检察官网: https://dl.gitlab.cn/j6rp6wgo 。
写在前面

本指南为使用极狐GitLab 的开辟团队提供了全面信息,适用于思量与 AWS 服务集成或操持从 AWS 托管的Git仓库迁移到 JihuLab.com 的环境。迁移指南包括以下几个主要部分:

[*]并行迁移至极狐GitLab:详细报告了如何将托管在 AWS 上的既有仓库逐渐迁移到 JihuLab.com,同时将风险最小化。
[*]和 AWS CodeBuild集成:对极狐GitLab 和 AWS CodeBuild 的集成提供了详细的步骤,以便打造一个强盛的持续集成(CI)环境。
[*]和 AWS CodePipeline 集成:详细报告了如何将极狐GitLab 和 AWS CodBuild 进行连接,从而构建高效的持续交付(CD)流水线。
[*]CodePipeline 和 CodeStar 连接的下游集成:阐述了如何利用极狐GitLab 与 AWS 的连接实现广泛的服务访问,解锁了跨AWS生态系统的一系列集成大概性。
通过这份指南,你将会学习到如何将极狐GitLab 强盛的功能特性和 AWS 结合起来,从而创建高效、灵活的研发工作流。
第一部分:并行迁移至极狐GitLab

对于那些思量将托管在 AWS 上的 Git 仓库迁移到 JihuLab.com 上的用户来说,这部分内容将先容整个迁移过程,并且将风险最小化。通过使用极狐GitLab 的镜像能力,你可以在继续使用既有工作流的环境下对新环境进行测试。
为什么并行迁移云云重要?

大型系统的迁移往往伴随着风险,特别是对现有工作流、既有集成以及自动化流程的潜在影响。接纳并行迁移可以大概获得以下利益:

[*]风险最小化:让既有系统正常运行的时候,还能测试新环境。
[*]无缝迁移:研发团队可以逐渐适应新环境。
[*]集成测试:在新环境中完备地测试全部的测试和自动化流程。
[*]将来适应性:使团队可以大概逐步在现有 CI 并行运行的环境下迁移到极狐GitLab CI/CD。
如果你决定直接从既有系统完全切换到极狐GitLab,那么就没必要执行并行迁移。
迁移步骤

第一步:设置 JihuLab.com


[*]先查抄贵公司是否已经在 JihuLab.com 上有对应的群组在使用以及他们是否开启了 SSO 设置——如果确认开启,那么你会在稍后用到它。
[*]如果贵公司在 JihuLab.com 上没有对应的账号,可以直接注册创建。
[*]创建一个新的公司命名空间(在 JihuLab.com 上创建一个顶级群组)。
[*]名称的选择要可以大概完备地反映贵公司的环境。
第二步:导入仓库

对并行迁移来说:使用极狐GitLab 的 Pull 镜像功能将 AWS 上的仓库自动同步至 JihuLab.com。

[*]在 JihuLab.com 上导航至目标群组。
[*]在右上角,选择“新建项目”。
[*]在“创建新项目”页面,点击“导入项目”。
[*]在“导入项目页面”,点击“通过 URL 导入仓库”。
[*]在“Git 仓库 URL”字段中输入完备的 AWS 仓库 URL。
[*]在 Git 仓库 URL 字段下方,勾选“镜像仓库”。
[*]设置认证:在 AWS CodeCommit 控制台,选择你想迁移仓库的克隆 URL。如果你操持将 CodeCommit 仓库导入极狐GitLab,你可以使用 HTTPS CodeCommit URL 通过极狐GitLab仓库镜像功能克隆仓库。你需要将你在 AWS IAM 用户系统中存储的 Git 根据提供给极狐GitLab。你可以根据 AWS 官方指南来创建 AWS CodeCommit Git 根据。
https://img2024.cnblogs.com/other/3375936/202409/3375936-20240902102955887-1848870085.png
默认环境下,这项设置将每隔五分钟将 AWS 上 Git 仓库中的变动同步至 JihuLab.com。
更多详情,可以检察极狐GitLab 仓库镜像文档。
第三步:测试和验证集成


[*]CI/CD 流水线:在极狐GitLab CI 中设置 .gitlab-ci.yml文件,来对既有流水线进行“复刻”。更多详情,你可以阅读如何从其他 CI 工具迁移到极狐GitLab CI/CD 这篇文章。
[*]议题追踪:导入项目议题,然后测试工作流。
[*]代码稽核:设置合并请求流程并且测试稽核工作流。
第四步:逐步迁移


[*]从小型大概非焦点项目开始来逐步熟悉如安在 JihuLab.com 上进行工作。
[*]为团队成员提供配置并且给予一定的时间来适应新的工作流。
[*]逐步迁移更多的项目,同时要确保集成和工作流是没问题的。
第五步:完成迁移

一旦完成全部的测试和验证,而且团队在新的环境下也感觉很舒适,那么就进行完备的迁移。对于每一个项目:

[*]设置一个迁移日期并且通知全部干系人。
[*]执行最终的数据同步。
[*]从极狐GitLab 项目中移除镜像设置。
[*]将 AWS 仓库设置为只读,然后将全部研发工作流迁移到极狐GitLb 上。
第六步:评估接纳新的能力

极狐GitLab 在协作和工作流自动化方面的能力远比 CodeCommit 丰富。值得泯灭一些时间来学习这些能力。单就合并请求流程来讲,极狐GitLab 就要比 CodeCommit 强盛很多。
等到极狐GitLab 上的仓库稳固以后,就可以很轻易地采取并行的方式来体验极狐GitLab CI/CD。在生产工作流不受影响的环境下,团队可以泯灭一些时间来执行极狐GitLab CI/CD 自动化流程。
极狐GitLab 制品管理也非常强盛,具有发布功能和多种软件包仓库。
第一部分总结

通过接纳向极狐GitLab 的并行迁移方式,你可以在最小化风险的同时感受丝滑的迁移。整个流程可以大概让团队逐渐适应新的环境,而且确保全部的集成和自动化功能都是正确的。而一旦确定并行迁移不再是必需的时候,完全切换过来也仅仅是一个勾选框的事变(指取消镜像设置)。
第二部分:将极狐GitLab 和 AWS CodeBuild 集成

对于那些想要使用 AWS CodeBuild 来对极狐GitLab 代码仓库进行构建和测试的用户来讲,下面的分享指南将帮助完成高效 CI 流水线的设置。
前提


[*]一个极狐GitLab 账号
[*]AWS 账号
[*]AWS CLI(已配置好)
第一步:在 AWS CodeStar 连接中创建极狐GitLab 连接


[*]登录 AWS 管理控制台,然后导航找到 CodeBuild service。
[*]在左侧导航栏面板中选择“设置” > “连接”。
[*]点击“创建连接”按钮。
[*]选择“GitLab”作为供应商。
[*]输入连接名称后点击“连接到极狐GitLab”。
[*]你将被重定向到极狐GitLab 认证页面。
[*]授予必要的权限。
[*]一旦乐成,连接状态将变为“可用”。
https://img2024.cnblogs.com/other/3375936/202409/3375936-20240902102956255-30199626.png
第二步:创建 AWS CodeBuild 项目


[*]在 CodeBuild 仪表盘上点击“创建构建项目”。
[*]输入项目名称和描述。
[*]在源设置中,选择“GitLab”作为供应商。
[*]选择上一步创建好的连接,然后指定极狐GitLab 仓库和分支。
https://img2024.cnblogs.com/other/3375936/202409/3375936-20240902102956632-509762125.png
注意:从第三步开始,请根据您的特定环境和需求配置设置。
第二部分总结

这部分详细先容了如何将极狐GitLab 仓库和 AWS CodeBuild 进行集成。此项设置会开启一个持续集成流水线,当存储在极狐GitLab 仓库中的代码发生变动时,使用 AWS CodeBuild 就会自动完成变动代码的构建和测试。
第三部分:将极狐GitLab 和 AWS CodeBuild 进行集成

对于那些想要使用 AWS CodePipeline 来完成极狐GitLab 仓库代码的持续交付的用户来说,下面的内容将详细阐述如何实现这一点。如今这一点已经非常轻易实现了,因为极狐GitLab 已经成为了 AWS CodeStar 的连接器供应商。
前提

● 一个极狐GitLab 账号
● AWS 账号
● AWS CLI(已配置好)
第一步:在 AWS CodeStar 连接中创建极狐GitLab 连接


[*]登录 AWS 管理控制台,然后导航找到 CodePipeline 服务。
[*]在左侧导航栏中选择“设置” > “连接”。
[*]点击“创建连接”按钮。
[*]选择“GitLab”作为供应商。
[*]输入连接名称后点击“连接到极狐GitLab”。
[*]你将被重定向到极狐GitLab 认证页面。
[*]授予必要的权限。
[*]一旦乐成,连接状态将变为“可用”。
https://img2024.cnblogs.com/other/3375936/202409/3375936-20240902102956992-2015706711.png
https://img2024.cnblogs.com/other/3375936/202409/3375936-20240902102957478-56650894.png
第二步:创建 AWS CodePipeline


[*]在 CodePipeline 仪表盘中点击“创建流水线”。
[*]输入流水线名称然后点击“下一步”。
[*]将“GitLab”作为源供应商。
[*]选择上一步创建好的连接,然后指定极狐GitLab 仓库和分支。
[*]选择触发方式:你可以根据对仓库中特定分支和文件类型的拉取或推送变瞎搅触发CodePipeline流水线的执行。
https://img2024.cnblogs.com/other/3375936/202409/3375936-20240902102957945-589554206.png
注意:从第三步开始,请根据您的特定环境和需求配置设置。
第三部分总结

这部分详细先容了极狐GitLab 仓库和 AWS CodePipeline 的集成。此项设置将开启一个持续交付流水线,当极狐GitLab 仓库中的代码发生变动时,变动会被自动部署到你的 AWS 环境中。
第四部分:迁移到极狐GitLab

极狐GitLab 和 AWS 的集成可以大概解锁很多丰富的功能,用以简化你的研发工作流,而且可以大概帮助你解决源代码管理问题。这种集成可以通过多种方式来实现,每一种都有其独特的优势:

[*]使用 AWS 服务中的 AWS CodeStar 连接完成和极狐GitLab 的集成,这种方式可以大概通过使用外部 Git 仓库(诸如极狐GitLab)和差别 AWS 服务的连接来构建统一的工作流。此项设置支持直接从极狐GitLab 仓库来实现自动化构建、部署和其他必要的执行步骤,从而让研发工作流更加集成和简化。
[*]通过 AWS CodeStar 连接来实现极狐GitLab 和 AWS CodePipeline 的集成,通过允许创建完备的CI/CD流水线,将自动化提拔到一个新的水平。这种方式的集成可以大概让你自动化整个流程——从源代码控制、构建到测试和部署,这些使用 AWS 服务即可,好比 CodeBuild 和 CodeDeploy。这确保了流程的可靠、可扩展以及高效。
https://img2024.cnblogs.com/other/3375936/202409/3375936-20240902102958308-80622706.png

[*]使用 AWS CodeStar 连接将极狐GitLab 和 AWS 服务连接起来
AWS CodeStar 连接是一个允许你将外部 Git 仓库(诸如 GitHub 大概 Bitbucket)连接 AWS 服务的服务。你还可以通过 CodeStar 连接来将极狐GitLab 连接到 AWS 服务上。当使用极狐GitLab 时,大概你需要将自定义连接设置为 HTTP Git 服务器。使用这种方式可以将下面的 AWS 服务连接到极狐GitLab:

[*]AWS Service Catalog
AWS 服务目任命来帮助构造对 AWS 资源进行尺度化和管理。和极狐GitLab 集成可以大概改善资源管理的透明度并简化变动追溯。特别地,你还可以基于极狐GitLab 代码提交来自动化目录的更新,这又进一步提拔了操作效率。

[*]AWS CodeBuild
AWS CodeBuild 是一个管理构建的服务,它可以大概对源代码进行编译、运行测试并且天生可部署的软件包。极狐GitLab 和 CodeBuild的集成可以大概实现只要极狐GitLab 仓库中的代码有变动,就自动进行整个构建流程。这种构建方便的连续性让协作和版本控制变得更加轻易。

[*]AWS Glue Notebook Jobs
AWS Glue Notebook Jobs 是一项服务,允许你交互式地开辟和运行数据准备和ETL(提取、转换、加载)任务。极狐GitLab 和 Glue Notebook Job 的集成可以大概对 notebook 和 ETL 脚本实现版本控制,进步团队成员的协作效率,改善数据流程流水线的质量管理。

[*]AWS Proton
AWS Proton 是一个可以大概自动化研发、部署微服务和无服务器应用程序的服务。通过将极狐GitLab 和 AWS Proton 进行集成,你可以对 IaC(底子设施即代码) 进行管理、自动化部署,而且可以大概确保环境管理的连续性,最终进步研发效率。
因为 AWS CodeStar 连接支持多种服务,因此极狐GitLab 和其他 AWS 服务的集成就变得非常轻易。定期查抄支持CodeStar连接的新服务是非常有必要的。

[*]通过 AWS CodeStar 连接(包括 CodeDeploy)将极狐GitLab 和 CodePipeline 连接起来
AWS CodePipeline 是一个持续交付服务,可以大概自动化软件的发布流程。为了将极狐GitLab 和 CodePipeline 进行连接,你需要使用 AWS CodeStar Connection。此项设置允许你将极狐GitLab 指定为源代码仓库,然后自动化整个 CI/CD 流水线。CodePipeline 支持的主要操作包括:

[*]源代码管理:AWS CodeCommit、GitHub、GitLab、Bitbucket
[*]构建和测试:AWS CodeBuild、Jenkins
[*]Deploy:AWS CodeDeploy、Elastic Beanstalk、ECS、S3
[*]批准:手动批准
[*]底子设施管理:AWS CloudFormation
[*]无服务器:AWS Lambda
[*]测试:AWS Device Farm
[*]自定义操作:AWS Step Functions
通过极狐GitLab 和 CodePipeline 的集成,无论何时极狐GitLab 中的代码发生变动,都能自动化触发整个流水线,完成从构建到部署。别的,将此功能和极狐GitLab 的版本控制能力结合起来,可以大概更轻易地追踪部署历史、状态,最终带来灵活、可靠的软件交付。
总结

上面分享的内容提供了关于迁移到AWS并集成GitLab的全面信息。通过上面的四个重要主题,我们涵盖了:

[*]并行迁移到极狐GitLab:如何将托管在 AWS 上的 Git 仓库逐步迁移到极狐GitLab 上,而且能将风险最小化。
[*]和 AWS CodeBuild 集成:设置与极狐GitLab仓库集成的强盛CI(持续集成)环境的步骤。
[*]和 AWS CodePipeline 集成:如何使用极狐GitLab 仓库构建高效的持续交付流水线。
[*]CodePipeline 和 CodeStar 连接的下游集成:利用极狐GitLab-AWS 连接获取广泛的服务访问,解锁了跨AWS生态系统的一系列集成大概性。
因为每个构造的代码托管和集成实现策略都是独一无二的,本文大概只能作为你使用极狐GitLab + AWS 来构建企业自身所需工作、流程的一个初步指南。
本文由博客群发一文多发等运营工具平台 OpenWrite 发布

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 如何从 AWS CodeCommit 迁移到极狐GitLab?