我可以看到 AWS Code Commit 是 github/gitlab/stash 等的替代品。产品页面指出:
Store Anything
--------------
AWS CodeCommit allows you to store any type of file, and there are no repository
size limits. This allows you to store and version application assets, like images
and libraries, along with your code.
这是否意味着我可以使用代码提交作为 Artifactory 的替代方案,即作为类似 maven 的存储库?
答案1
AWS CodeCommit 是一项完全托管的源代码控制服务
这意味着它是为源代码设计的。以下是源代码控制不适合二进制文件的一些原因:
- 首先,版本控制系统 (VCS) 不是 Maven 存储库!它无法计算 Maven 索引。
- 版本不匹配。源文件根据其内容进行版本控制。VCS 知道如何区分它们并了解哪些发生了变化。另一方面,二进制文件通常根据其名称进行版本控制。从 VCS 的角度来看,它们是不同的条目,每个条目都没有任何版本历史记录。
- 不确定 CodeCommit 是否可以删除文件。如果不能(像 Subversion 一样),则一旦添加文件,它将永远保留在存储库中。
- 源代码控制知道如何搜索源代码。当然,最重要的搜索类型是按内容搜索。但是,搜索二进制文件则有所不同:最重要的是文件元数据、位置、文件名的结构,以及存档文件的内容(如果是存档文件)。
- VCS 的权限方案是为版本控制源量身定制的(再次强调!)。例如,没有覆盖权限。这是因为覆盖源是我们在 VCS 中一直要做的事情——它的安全级别与添加新源文件相同。但是,二进制文件的情况则大不相同。虽然添加新二进制文件是可以的,但覆盖已发布的二进制文件是不应该做的事情(应该拥有特殊权限)。