什么是 .NET 等同于 Nexus and/or regharding 部署 .net 核心应用程序有什么用?

What is the .NET equivalent to Nexus and/or what is its use regharding deploying .net core apps?

我是一名 .NET 开发人员,被告知要开始使用 Nexus 来帮助 IT 部署 .net 核心 Web 应用程序。所以我试图弄清楚什么是联系。据我了解,如果我要创建自定义 NuGet 包并希望它们托管在防火墙后面,我会使用它吗?..但这与部署 .net 核心 Web 应用程序有什么关系?

我觉得我完全不明白,关于 Nexus/Maven 的文章对我来说毫无意义.. 可能是因为我来自纯 .NET 世界..

原始请求如下...有人可以用我能理解他们在说什么的语言向我解释吗?为什么我不能只向他们发送 docker 张图片??

In our EA meeting today the SA team mentioned that they were pulling code out of nexus to build their docker containers. Did you want to do some research on Nexus to see if we can use it the same way? I know that it's possible to use Nexus to host your own nuget repo's but I've got nothing much beyond that.

If you could summarize your findings in this ticket I think that'll be a good starting point and we can take it from there.

要创建应用程序,您可以使用许多包。 Nuget 包、bower 包等。例如,这段 project.json 告诉 "get all this packages from the repository":

  //...
  "dependencies": {
    "Microsoft.AspNetCore.Authentication.Cookies": "1.0.0",
    "Microsoft.AspNetCore.Mvc": "1.0.0",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
    "Microsoft.AspNetCore.StaticFiles": "1.0.0",
    "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
    "Microsoft.Extensions.Configuration.Json": "1.0.0",
    "NHibernate": "4.0.4.4000",
    "System.Data.Common": "4.1.0"
  //...

在使用Nuget包时,我们通常从official repository中获取它们。但是您可以在您的公司创建一个本地存储库。这样,您可以将您公司的包存储在这个私有存储库中。或者,如果开发人员无法访问互联网,有人可以下载包并将其上传到本地服务器。您还可以使用两个服务器(私有和 public)来获取一些常用包和您公司创建的包。

这样,如果您要使用 Nexus,那么您可以创建一个 Nuget(或其他类型的包:Docker、bower、maven)包并将其上传到您的 Nexus 服务器。然后,您将项目配置为在 Nexus 服务器中查找包,而不是在 public 存储库中查找。或者,就像我之前说的,您可以同时使用 private 和 public.

您引用的这段文字告诉 SA 团队正在使用 Nexus 作为他们的存储库。他们可能正在使用 Nexus 来存储他们的 Docker 包,也许还有他们的 Nuget 包。因此,他们的项目正在从 Nexus 服务器下载包。

所以对于 Nexus Repository Manager,我希望看到的是,您将为您的 .NET 代码创建 NuGet 包,并将它们部署到 Repository Manager 中的 NuGet 托管存储库。从那里,可以通过 Docker 文件获取这些包(如果您在其中使用 NuGet 获取包,或者可能通过 curl 等...),然后 Docker 图像可以是由您的应用程序创建并共享到存储库管理器中的 Docker 托管存储库。完全可以使用 Nexus Repository 来托管 Docker 图像,我强烈建议您这样做(毕竟我们构建了它 :))。