配置基础 Freestyle 项目

JenkinsBeginner
立即练习

简介

欢迎来到关于配置 Jenkins 基础 Freestyle 项目的实验。Freestyle 项目是 Jenkins 中一种高度灵活且易于使用的选项,适用于各种类型的项目。它允许你通过基于 Web 的图形界面来配置构建触发器、构建步骤和构建后操作。

在本实验中,你将学习如何:

  • 为项目添加 Shell 命令构建步骤。
  • 使用触发器安排自动构建。
  • 归档构建产物以供后续使用。
  • 配置构建后操作,例如清理工作空间。

Jenkins 实例已经运行,并且已经为你创建了一个名为 sample-project 的基础 Freestyle 项目。你可以通过打开桌面上的 Firefox 浏览器来访问 Jenkins Web 界面。浏览器会自动打开 http://localhost:8080,因此无需手动输入 URL。无需登录。

添加构建步骤

在此步骤中,你将为 Freestyle 项目添加一个构建步骤。构建步骤是项目的核心,它定义了 Jenkins 将要执行的操作,例如编译代码、运行测试或执行 Shell 脚本。

首先,让我们导航到项目配置页面。

  1. 从桌面界面打开 Firefox 浏览器。浏览器会自动打开 http://localhost:8080,因此无需手动输入 URL。无需登录。
  2. 在 Jenkins 仪表板上,你将看到 sample-project。点击其名称进入项目页面。
  3. 在左侧菜单中,点击 Configure(配置)。

Jenkins 项目页面

现在,你已进入项目的配置页面。让我们添加一个构建步骤。

  1. 向下滚动到 Build Steps(构建步骤)部分。
  2. 点击 Add build step(增加构建步骤)下拉按钮,选择 Execute shell(执行 shell)。

构建步骤部分

  1. 将出现一个文本框。在 Command(命令)框中输入以下命令:
echo "Building the project..."
date
echo "Build complete."
  1. 点击页面底部的 Save(保存)按钮。

你现在已经配置好了一个构建步骤。让我们运行构建来看看它的实际效果。

  1. 在项目页面,点击左侧菜单中的 Build Now(立即构建)。
  2. Build History(构建历史)部分将出现一个新的构建。点击构建编号(例如 #1)。
  3. 在该构建的左侧菜单中,点击 Console Output(控制台输出)。

你将看到你添加的 Shell 命令的输出,这确认了你的构建步骤已成功执行。

Started by user admin
Running as SYSTEM
Building in workspace /var/jenkins_home/workspace/sample-project
[sample-project] $ /bin/sh -xe /tmp/jenkins12345.sh
+ echo 'Building the project...'
Building the project...
+ date
Tue Jan 1 12:00:00 UTC 2024
+ echo 'Build complete.'
Build complete.
Finished: SUCCESS

使用触发器安排构建

在此步骤中,你将学习如何使用构建触发器自动安排构建。这是持续集成的一项基本功能,允许你定期运行构建。

  1. 导航回 sample-project 的配置页面(项目页面 > Configure)。
  2. 找到 Triggers(触发器)部分。
  3. 勾选 Build periodically(定期构建)旁边的复选框。

触发器部分

  1. 将出现一个 Schedule(日程表)文本区域。此字段使用 cron 语法来定义时间表。该语法由空格分隔的 5 个字段组成:MINUTE HOUR DAYOFMONTH MONTH DAYOFWEEK
  2. 要大约每分钟运行一次构建,请在 Schedule 字段中输入以下内容:
* * * * *

此 cron 表达式的意思是“每分钟运行一次”。虽然 Jenkins 支持使用 H 符号进行负载分配,但 H/1 * * * * 实际上是每小时运行一次,而不是每分钟。若要真正实现每分钟运行一次,请使用 * * * * *

  1. 点击 Save

现在,Jenkins 将大约每分钟自动为 sample-project 触发一次新构建。你可以通过观察项目页面上的 Build History 来查看此过程。

归档构建产物

在此步骤中,你将学习如何归档构建产物。产物是构建产生的输出文件,例如编译后的二进制文件或报告。归档它们可以使你在构建完成后下载这些文件。

首先,我们需要修改构建步骤以创建一个可以归档的文件。

  1. 导航到 sample-project 的配置页面。
  2. 向下滚动到 Build Steps 部分,找到你的 Execute shell 命令框。
  3. 在脚本中添加一行新代码,创建一个名为 build-info.txt 的文件。$BUILD_NUMBER 是 Jenkins 提供的环境变量,其中包含当前的构建编号。
echo "Building the project..."
date
echo "Build complete."
echo "This artifact is from build #$BUILD_NUMBER" > build-info.txt

接下来,让我们配置一个构建后操作来归档此文件。

  1. 向下滚动到 Post-build Actions(构建后操作)部分。
  2. 点击 Add post-build action(增加构建后操作)下拉菜单,选择 Archive the artifacts(归档成品)。

增加构建后操作下拉菜单

  1. Files to archive(用于归档的文件)字段中,输入要归档的文件名:build-info.txt。你也可以使用通配符(如 **/*.jar)来归档多个文件。
  2. 点击 Save

归档成品配置

现在,点击 Build Now 运行一次新构建。构建完成后:

  1. 点击 Build History 中的最新构建编号。
  2. 在构建的状态页面上,你将看到一个名为 Build Artifacts(构建成品)的部分,其中包含指向 build-info.txt 的链接。你可以点击它来查看或下载该文件。

已完成的构建页面

配置工作空间清理

在最后一个配置步骤中,你将添加一个构建后操作来清理工作空间。这是一种良好的实践,可以节省磁盘空间并确保每次构建都在干净的环境中开始,从而防止之前构建产生的文件造成干扰。

  1. 进入 sample-project 的配置页面。
  2. 向下滚动到 Post-build Actions 部分。
  3. 点击 Add post-build action 下拉菜单,选择 Delete workspace when build is done(构建完成后删除工作空间)。

增加构建后操作下拉菜单

  1. 点击 Save

工作空间清理配置

现在,在 sample-project 的每次构建完成后,Jenkins 都会删除工作空间目录中的所有文件。请注意,归档的产物是单独存储的,不受工作空间清理的影响。这确保了你的构建产物在保持可用的同时,也为下一次运行保持了干净的构建环境。

总结

恭喜你完成了本实验。你已经成功掌握了配置 Jenkins Freestyle 项目的基础知识。

在本实验中,你练习了:

  • 添加 Execute shell 命令作为构建步骤。
  • 设置 Build Trigger 以使用 cron 语法定期安排构建。
  • 创建并归档 构建产物
  • 配置 构建后操作 以在构建后删除工作空间。

这些是使用 Jenkins 自动化构建、测试和部署流程的基本技能。现在,你可以将这些概念应用到创建和管理你自己的 CI/CD 流水线中。