根据公司规定,我应该将每个工件从 Nexus 迁移到另一个解决方案,最好是 AWS CodeArtifact。
我们也有托管、代理和组类型的存储库,主要是 Maven 和 nuget。
到目前为止,我最好的想法是使用 Nexus REST API 并创建某种脚本来自动下载所有工件,并将它们上传回 AWS CA,但我不确定这是否是最佳解决方案。保持文件夹结构与 Nexus Web UI 上的相同也很重要。
我对 Nexus 和工件存储库总体来说还很陌生,所以任何提示将不胜感激。
我认为确实最好使用使用 Nexus REST API 的脚本来下载包并通过 AWS CLI 将其发布到 CodeArtifact。您可以使用 publish-package-version 命令来实现此目的。您唯一需要做的就是将命令的确切参数与 Nexus 的属性相匹配。
domain=... # From codeartifact
repo=... # From codeartifact
format=... # maven || nuget
package=... # From nexus
version=... # From nexus
content=... # From nexus
name=... # From nexus
hash=... # From nexus
aws codeartifact publish-package-version \
--domain $domain \
--repository $repo \
--format $format \
--package $package \
--package-version $version \
--asset-content $content \
--asset-name $name \
--asset-sha256 $hash