首页 > 其他分享 >移行前的复盘:CodeCommit 的重要地位分析

移行前的复盘:CodeCommit 的重要地位分析

时间:2024-08-08 12:55:47浏览次数:15  
标签:存储 Git 服务 CodeCatalyst AWS CodeCommit 复盘 移行

前言

截至7月28日,关于AWS CodeCommit的现状如下:

  • 现有账号的现有存储库可以继续使用CodeCommit,不受限制。
  • 之前未使用过CodeCommit的账号(或没有现有存储库的账号)无法创建新的存储库。

这并不意味着CodeCommit的服务会立即终止。然而,无法创建新存储库这一事实一般可以理解为CodeCommit服务的缩减和进入维护阶段。由于该博客的发布是在日本时间的周六,至少目前还没有任何官方声明否定这一解读,个人对此感到有些不安。

本文将回顾CodeCommit所承担的角色,并尽可能整理在新账号无法使用时的影响以及在迁移过程中需要注意的事项。

After giving it a lot of thought, we made the decision to discontinue new access to a small number of services, including AWS CodeCommit.

While we are no longer onboarding new customers to these services, there are no plans to change the features or experience you get today,

We also support migrations to other AWS or third-party solutions better aligned with your evolving needs. Keep the feedback coming. We’re always listening.

 

作为开发者的CodeCommit

从工程师的角度来看,CodeCommit可能是一个不情愿使用的工具。与其他Git服务相比,它并没有明显的优势,相反,缺少的一些功能常常让人困扰。

以下是我个人觉得比较辛苦的几点:

  1. 代码审查功能贫弱:不仅在UI方面存在一些细节问题,而且在代码部分的显示上也有很多限制。例如,当代码超过几千行时就无法显示,这使得基于GUI的顺畅审查变得困难。

  2. 与CodeBuild的分支联动不足:例如,像文章中提到的,使用feature/*等通配符进行触发设置在CodeCommit中难以实现。

作为管理者的CodeCommit

读到这里,可能有人会觉得即使CodeCommit消失了也不会有太大影响。然而,从企业用户的角度来看,它确实有一些显著的优势。至少,我出于以下几个原因选择了使用CodeCommit。

  1. 将Git服务作为AWS生态系统的一部分:CodeCommit是唯一具有以下功能的Git服务:

    • 基于IAM的认证
    • 通过VPC端点进行VPC集成
    • 通过EventBridge进行事件集成

    换句话说,如果采用CodeCommit是为了统一AWS生态系统中的Git存储库操作,那么其消失将会带来影响。

  2. 提供商相同:这一点看起来与第一点类似,但由于提供商相同,可以简化合同管理。

    从企业内部使用的角度来看,与财务或审计部门的协调因为AWS生态系统而变得简单。如果CodeCommit消失,这些部门将会受到影响。虽然CodeCatalyst可以在一定程度上替代这一功能,但考虑到CodeCatalyst目前仅在俄勒冈地区提供服务(即无法在国内区域创建存储库),仍需对此进行权衡。

  3. 存储库管理中的“团队内部控制”:如果整个公司使用GitHub Enterprise等服务,例如,AWS账户和管理员不同,跨组织的存储库发布可能会存在时间延迟。

    虽然这在某种程度上与治理有关,但在CodeCommit的情况下,只要拥有一定的IAM权限就可以使用,因此GitOps可以迅速推进。

如果不能再使用CodeCommit,会带来哪些困扰?

总结到这里,我们可以看出如果不能再使用CodeCommit,可能会带来以下几个困扰:

  1. 对应用开发者来说,影响可能不大:由于应用开发者可以选择其他Git服务来替代,功能上也能满足大部分需求,因此他们可能不会受到太大困扰。

  2. 对基础设施管理来说,可能会遇到一些困扰

    • AWS集成:CodeCommit与AWS的其他服务(如IAM认证、VPC集成和EventBridge事件集成)紧密结合,如果转移到其他Git服务,这些集成将需要重新配置,增加了工作量和复杂性。

    • 会计合同的统一管理:由于CodeCommit和其他AWS服务来自同一提供商,这简化了合同管理。如果切换到其他Git服务,需要处理多个供应商的合同,增加了管理难度。

    • 存储库管理:使用CodeCommit,团队可以利用AWS IAM权限进行快速且高效的存储库管理。如果切换到其他服务,可能会遇到跨组织协调和发布延迟的问题。

大家怎么看呢?如果有其他未提到的案例或观点,请务必分享。

我和CodeCommit

这只是我的个人看法,但我一直认为CodeCommit是当因某些原因难以采用第三方Git服务时的最后一张王牌(最终手段?)。虽然它确实存在一些功能上的不足,但我认为,对于每个项目都进行Git自托管在可用性和运营方面并不现实。

尽管如此,这种想法可能并不多见。我在2023年的工作中曾经采用过CodeCommit,所以对这个变化感到非常惊讶。根据AWS repost

的信息,无法创建新存储库的情况从2024年6月6日开始生效。然而,尽管如此,却没有出现相关的知识分享,可能意味着即使服务缩减了,也不会有太大的使用影响吧……

 Beginning on 06 June 2024, AWS CodeCommit ceased onboarding new customers. Going forward, only customers who have an existing repository in AWS CodeCommit will be able to create additional repositories.

 

迁移候选

作为CodeCommit的迁移候选,如下博客中所述,GitHub和Gitlab等将是基本选择。

https://aws.amazon.com/jp/blogs/devops/how-to-migrate-your-aws-codecommit-repository-to-another-git-provider/

 

迁移候选

作为CodeCommit的迁移候选,如下博客中所述,GitHub和Gitlab等将是基本选择。特别是GitHub,其市场份额大,使用体验也很好。此外,虽然文中没有明确提到,但CodeCatalyst也可以用于创建存储库。

然而,需要注意以下潜在的陷阱,在从CodeCommit迁移时需要加以考虑。特别是CodeCatalyst与现有Code系列的整合似乎并不完善。

与Code系列的整合情况

总结

基于CodeCommit进入维护模式的假设,本文对其进行了总结,并探讨了可能的迁移选项。希望未来会有新的继任服务出现,使这一问题变得不再棘手。

谢谢阅读!

标签:存储,Git,服务,CodeCatalyst,AWS,CodeCommit,复盘,移行
From: https://blog.csdn.net/rralucard123/article/details/140964645

相关文章

  • Educational Codeforces Round 168 (Rated for Div. 2)-7.30复盘
    A.StrongPassword简单题,找到相同的两个相邻字母之间插一个跟他们不同的大写字母即可inlinevoidsolve(){ cin>>s; intid=0; charhh=''; for(inti=1;i<s.size();i++){ if(s[i-1]==s[i]){ id=i;break; } } for(inti=0;i<26;i++){ if(s[id]!='a'+i&a......
  • NewStarCTF WEEK5|WEB 4-复盘
    打开题目研究一圈没啥营养价值下载源码发现好东西if(file_exists($page)){require_once$page;}else{require_once'pages/error_page.php';}活的文件包含我们直接利用?+config-create+/&page=../../../../../usr/l......
  • 复盘工作-2024-08
    复盘工作-2024-08-011.vue里:disabled绑定接收一个函数来动态决定其值,而不仅限于简单的表达式2.js判数组是否含有某元素:.includes()上述两点的练习代码:<template><f7-page><!--:disabled接收true、false值例子:--><!--海岛名称:<inputid="isla......
  • C++程序中的类型转换与进程异常退出血案复盘
    在C++编程中,类型转换是一个常见的操作,它允许程序员将一个数据类型转换为另一个数据类型。然而,不恰当的类型转换可能会导致未定义的行为,甚至引发进程异常退出。本文将深入分析一段C++代码,探讨其中由于类型转换不当导致的潜在问题,并解释为何这种类型转换可能引发进程异常退出......
  • Codeforces Round 961 (Div. 2) 复盘
    第一次打div2的总结div2难度明显比div3要难一些,其实也不是很难前面的签到题,但是给了我一种每道题都可以直接暴力但是就是会超时的感觉,不知道是不是提前就在告诉你要考虑greedythinking。T11995A-Diagonals这道题说实话就是存粹的模拟,除了最长的一个对角线同长度只有一列,其......
  • Pinely Round 4 (Div. 1 + Div. 2) 复盘总结
    PinelyRound4(Div.1+Div.2)发挥到极致了,写出了两题A.MaximizetheLastElement对于每个满足他左边的数的个数和他后面的数的个数都是奇数的数,取最大值即可。#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;//#defineintlonglong#defi......
  • 【HW系列】战后收尾(2):复盘提升
    本章为该系列的第18篇,也是事后收尾阶段的第2篇。有些防守单位会以演习结束作为整个防守项目的结束,甚至会专门定制倒计时大屏,当时钟走到0秒的那一刻,所有人欢呼雀跃,组织庆功宴,和庆祝春节有一拼了,朋友圈里都开始有了年味。但是,演练真的结束了吗?能与国家顶级攻击队在正面战场上较量,这......
  • AtCoder Beginner Contest 364 复盘
    AtCoderBeginnerContest364当你发现你的做法假了时,再看看题目的时限和空限,你就有可能发现,你的做法真了。本场口胡出了\(5\)题的正解,但是只写出了\(3\)题。弱弱又智智。A-GluttonTakahashi&B-GridWalk&C-MinimumGlutton签到D-K-thNearest算口胡出半......
  • 2024“钉耙编程”中国大学生算法设计超级联赛(3)复盘总结
    2024“钉耙编程”中国大学生算法设计超级联赛(3)本场我其实并没有给团队贡献是任何一个AC,连最简单的题都因为题目读错没有写出来。纯纯抱大佬大腿,然后赛后被嘲讽深度自同构-limie首先,先考虑对于一个有\(n\)个节点的树应该怎么做。设\(f_i\)表示\(i\)个节点的树中有多少个......
  • Codeforces Round 957 (Div. 3)复盘
    今天打了一下DIV3,专业转了就是不一样T1Onlypluses这道题主要就是理解乘法分配律,最多的绝对是两数相乘数最大的。T2AngryMonkey这道题一遍AC,虽然很简单还是值得鼓励,主要还是数学问题,用笔写下来找到数学规律之后做起来就很快T3GorillaandPermutation这道题还是很简单......