Code Stream 提供一个 Jenkins 插件,该插件可触发用于生成和测试源代码的 Jenkins 作业。Jenkins 插件运行测试用例,并且可以使用自定义脚本。

要在管道中运行 Jenkins 作业,请使用内部部署或基于云的 Jenkins 服务器,并在 Code Stream 中添加 Jenkins 端点。然后创建管道并向其添加 Jenkins 任务。

前提条件

  • 设置运行版本 1.561 或更高版本的内部部署 Jenkins 服务器或基于云的 Jenkins 服务器。
  • 如果使用内部部署 Jenkins 服务器,请确认您能够访问 VMware Cloud Assembly,以便添加云代理。有关示例,请参见设置 VMware Code Stream 以对发布流程进行建模
  • 验证您是 Code Stream 中项目的成员。如果您不是其成员,则让 Code Stream 管理员将您添加为项目的成员。请参见如何在 VMware Code Stream中添加项目
  • 确认作业在 Jenkins 服务器中存在,以便管道任务可以运行该作业。

过程

  1. 添加并验证 Jenkins 端点。
    1. 单击端点 > 新建端点
    2. 选择一个项目,并为端点类型选择 Jenkins。然后输入名称和说明。
    3. 如果该端点是基础架构中的关键业务组件,请启用标记为受限制
    4. 如果该端点位于内部部署环境中,请选择一个云代理以将该端点连接到 Code Stream
    5. 输入 Jenkins 服务器的 URL。
    6. 输入用于登录到 Jenkins 服务器的用户名和密码。然后输入其余信息。
      表 1. Jenkins 端点的其余信息
      端点条目 说明
      文件夹路径 用于对作业进行分组的文件夹的路径。Jenkins 可以运行该文件夹中的所有作业。可以创建子文件夹。例如:
      • folder_1 可以包含 job_1
      • folder_1 可以包含 folder_2,而后者可以包含 job_2

      folder_1 创建端点时,文件夹路径为 job/folder_1,而且端点只会列出 job_1

      要获取名为 folder_2 的子文件夹中的作业列表,您必须创建另一个使用文件夹路径 /job/folder_1/job/folder_2/ 的端点。

      URL Jenkins 服务器的主机 URL。以 protocol://host:port 格式输入 URL。例如:http://192.10.121.13:8080
      轮询间隔 Code Stream 向 Jenkins 服务器轮询更新的间隔持续时间。
      请求重试计数 Jenkins 服务器的已调度生成请求的重试计数。
      重试等待时间 重试 Jenkins 服务器的生成请求之前等待的秒数。
    7. 单击验证,然后验证端点是否连接到 Code Stream。如果未连接,请更正任何错误,然后单击保存
      使用 Jenkins 端点生成和测试代码。
  2. 要生成代码,请创建管道,然后添加使用 Jenkins 端点的任务。
    1. 单击管道 > 新建管道 > 空白画布
    2. 单击默认阶段。
    3. 在“任务”区域,输入任务的名称。
    4. 选择 Jenkins 作为任务类型。
    5. 选择您创建的 Jenkins 端点。
    6. 从下拉菜单中,从 Jenkins 服务器中选择管道将运行的作业。
    7. 输入作业的参数。
    创建使用 Jenkins 端点的 Jenkins 生成任务。
  3. 启用并运行管道,然后查看管道执行。
    Jenkins 生成任务的管道执行。
  4. 在管道仪表板中查看执行详细信息和状态。
    可以确定任何失败以及失败原因。还可以查看有关管道执行持续时间、完成和失败的趋势。
    在管道仪表板中查看执行详细信息和状态。

结果

恭喜!通过添加端点,创建管道并配置用于生成代码的 Jenkins 任务,您已将 Code Stream 与 Jenkins 集成。

示例: Jenkins 生成任务的示例 YAML

对于此示例中使用的 Jenkins 生成任务类型,YAML 类似于以下代码,并且通知已打开:

test:
  type: Jenkins
  endpoints:
    jenkinsServer: jenkins
  input:
    job: Add two numbers
    parameters:
      Num1: '23'
      Num2: '23'

后续步骤

有关更多信息,请参见其他节。请参见将 VMware Code Stream 连接到端点