在流水线中使用 Nexus

    本教程演示如何在 KubeSphere 流水线中使用 Nexus。

    • 准备一个启用 KuberSphere DevOps 系统

    • 准备一个 。

    • 准备一个GitHub 帐户。

    • 创建一个企业空间、一个 DevOps 项目(例如,demo-devops)和一个用户(例如,project-regular)。project-regular 需要被邀请至 DevOps 项目中并赋予 operator 角色。有关更多信息,请参考。

    动手实验

    1. 转到仓库页面,您可以看到 Nexus 提供了三种仓库类型。

      • proxy:远程仓库代理,用于下载资源并将其作为缓存存储在 Nexus 上。

      • hosted:在 Nexus 上存储制品的仓库。

      • group:一组已配置好的 Nexus 仓库。

    2. 点击仓库查看它的详细信息。例如:点击 maven-public 进去详情页面,并且查看它的 URL

    1. 登录 GitHub,Fork 到您的 GitHub 帐户。

    2. 在您的 learn-pipline-java GitHub 仓库中,点击根目录下的文件 pom.xml

    3. 当您完成以上步骤,点击页面下方的 Commit changes

    1. 使用 admin 帐户登录 KubeSphere Web 控制台,点击左上角的平台管理,选择集群管理

    2. 配置下面选择 配置。在 配置 页面上的下拉列表中选择 kubesphere-devops-worker ,然后点击 ks-devops-agent

    3. 在弹出的对话框中,向下滚动,找到 <servers> 代码片段,输入下列代码:

      enter-server-code

      备注

      <id> 是您在步骤 2 设置给 Nexus 的唯一标识符。 <username> 是您的 Nexus 用户名。 <password> 是您的 Nexus 的密码。您也可以在 Nexus 上面配置 NuGet API Key,以获得更高的安全性。

    4. 继续找到 <mirrors> 代码片段,然后输入一下代码:

      备注

      是您在步骤 2 设置给 Nexus 唯一标识符。 <name> 是 Nexus 仓库的名称。 <url> 是您 Nexus 仓库的 URL。 <mirrorOf> 是要镜像的 Maven 仓库。在本教程,输入 * 镜像所有 Maven 仓库。有关更多信息请参考为仓库使用镜像

    1. 登出 KubeSphere Web 控制台,使用帐户 project-regular 登录。转到 DevOps 项目,然后在流水线页面点击创建

    2. 基础信息选项卡中,为流水线设置名称(例如,nexus-pipeline),然后点击下一步

    3. 高级设置选项卡中,点击创建以使用默认配置。

    4. 点击流水线名称进入它的详情页面,然后点击编辑 Jenkinsfile

    5. 在弹出的对话框中,输入以下 Jenkinsfile。完成后,点击确定

      备注

      您需要用您自己的 GitHub 仓库地址替换原有的仓库地址。在 deploy to Nexus 阶段的步骤中的命令中,nexus 是您在 ConfigMap 上设置在 <id> 上的名称,同时 http://135.68.37.85:8081/repository/maven-snapshots/ 是您 Nexus 仓库的 URL。

    1. 您可以在图形编辑面板中看到所有的阶段和步骤,点击运行去运行流水线。

    2. 一段时间过后,你可以看到流水线的状态显示成功。点击成功的记录查看细节。

    3. 您可以点击查看日志查看更详细的日志。

    4. 回到 Browse 页面,点击 maven-sanpshots。可以看到所有 JAR 包已经上传至仓库。