持续集成:macOS 下 Nexus 2.x 的安装与管理

My GitHub Home Page

早些时候,Nexus 3.x 支持的内容不多,Nexus 2.x 则非常丰富,Sonatype Nexus 官网同时提供两个版本的下载链接,搭建私服的时候,我们一般以 Nexus 2.x 居多。

现在,Nexus 3.x 支持的内容已经非常多了,包括了全部 Nexus 2.x 的内容,官网上仅显著保留了 Nexus 3.x 的下载链接,而 Nexus 2.x 则被引导到了不太起眼的地方。

参考:

  • 资源管理:https://help.sonatype.com/repomanager2/configuration/managing-repositories
  • 任务管理:https://help.sonatype.com/repomanager2/configuration/managing-scheduled-tasks

说到 macOS 下安装应用程序,我只选两个地方:App Store 和 Homebrew 。本次要安装的 Sonatype Nexus 在 Homebrew 上仅提供 2.x 版本。

安装

安装:

  • 打开终端程序
  • 执行 brew cask install nexus

验证安装:

  • 访问 http://localhost:8081/nexus
  • 通过 admin / admin123 登录

任务调度

这里就不介绍任务调度的常识了,直接介绍几个用得不错的任务:

  • Health Check:健康检查。
  • Expire Repository Caches:存储库使用一些缓存来提高性能。此任务会使缓存过期,导致存储库管理器重新检查代理存储库的远程存储库或托管存储库的文件系统。您可以将存储库或组配置为受到任务设置存储库/组的影响。另外,您可以提供一个存储库路径来配置应该过期的内容。
  • Empty Trash:Evict 和 Purge 操作不会从资源库管理器工作目录中删除数据。他们只是将数据清除或驱逐到工作目录下的垃圾目录。此任务将删除此垃圾目录中的数据,该数据的时间早于任务设置清除项目早于(天)的项目中指定的天数。
  • Update Repositories Index:如果文件直接部署到存储库的本地存储(不通过用户界面或客户端工具部署),则需要指示存储库管理器更新其索引。执行此任务时,资源库管理器将首先下载远程索引(如果是代理存储库),然后扫描本地存储以索引新文件,则会更新其索引。最后,该索引也发布到存储库中。通常情况下,不应该安排这个任务。一个可能的例外是如果文件定期直接部署到本地存储。
  • Repair Repositories Index:在某些情况下,可能需要删除内部索引以及存储库的已发布内容。这个任务做到这一点,然后通过首先尝试下载远程索引(如果代理存储库)来重建内部索引,然后扫描本地存储并相应地更新内部索引。最后,该索引也发布到存储库中。应该没有必要安排这个任务。但是,升级资源库管理器时,升级说明有时可能包含执行此任务的手动步骤。