如何通过Jenkins进行自动化构建项目

1. 介绍

Jenkins 是一个开源的持续集成(CI)和持续交付(CD)工具,旨在自动化软件开发过程中的构建、测试和部署。它是一个基于 Java 编写的自动化服务器,在软件开发生命周期的各个阶段提供自动化支持。

官方文档:Jenkins 用户手册

Jenkins 是一个流行的持续集成和持续交付工具,它具有许多优势,使其成为开发团队的首选工具之一。以下是 Jenkins 的一些优势:

  • 开源和免费: Jenkins 是开源软件,免费提供给用户使用。这使得任何人都可以自由地使用和定制 Jenkins,而不需要支付额外的费用。

  • 可扩展性: Jenkins 提供了丰富的插件生态系统,用户可以根据自己的需求选择和安装不同的插件。这使得 Jenkins 可以灵活地扩展和定制,满足各种不同项目的需求。

  • 易于配置和使用: Jenkins 提供了直观的用户界面和简单的配置选项,使得用户可以轻松地创建和配置自动化构建任务。无论是新手还是有经验的用户都可以快速上手,并且能够灵活地配置各种不同的构建环境。

  • 持续集成: Jenkins 提供了持续集成功能,可以在代码提交后自动触发构建和测试,帮助开发团队及时发现和修复问题,保证代码的稳定性和质量。持续集成还可以加快软件交付的速度,提高开发效率。

  • 持续交付: Jenkins 支持持续交付功能,可以自动化执行构建、测试、部署等步骤,从而实现快速、可靠地交付软件。持续交付可以减少人工操作和人为错误,提高软件交付的质量和可靠性。

  • 大型社区支持: Jenkins 拥有庞大的用户社区和活跃的开发者社区,用户可以在社区中获取到丰富的教程、文档和解决方案。社区也提供了大量的插件和扩展,为用户提供了更多的选择和可能性。

  • 跨平台支持: Jenkins 支持在各种不同的操作系统和平台上运行,包括 Windows、Linux、Mac 等。无论是个人开发者还是企业团队,都可以在自己喜欢的平台上使用 Jenkins 进行自动化构建和持续集成。

2. Jenkins 安装

我这里以docker安装方式进行演示,其他方式安装请按照官网文档进行操作。

下载地址:Jenkins download and deployment

docker方式安装
复制代码
#拉取镜像
docker pull jenkins/jenkins

#运行镜像
docker run -d -p 8080:8080 -p 50000:50000 jenkins/jenkins
docker-compose方式安装

创建docker-compose.yml文件并写入下面内容

bash 复制代码
version: '3'

services:
  jenkins:
    container_name: jenkins
    image: jenkins/jenkins
    ports:
      - "8080:8080"
      - "50000:50000"
    volumes:
      - jenkins_home:/var/jenkins_home
    restart: unless-stopped

执行命令启动:

bash 复制代码
# 拉取并启动容器
docker-compose up  -d
# 查看dokcer运行中的服务
docker ps 
# 查看容器日志
docker logs -f 容器id

完成上面操作后

访问 Jenkins

打开浏览器并访问 http://服务器地址:8080会看到如下界面

设置 Jenkins

首次访问 Jenkins 时,要求输入初始管理员密码。要获取密码,在终端中运行以下命令:

复制代码
docker logs -f 你的jenkins容器id

安装推荐的插件

配置用户

3. 创建一个新的 Jenkins 作业

New Item介绍

Freestyle project(自由风格项目):这个选项允许用户创建一个自定义的项目,可以执行任何任务,无论是构建、测试、部署还是其他工作。

Pipeline(流水线项目):这个选项允许用户创建一个Jenkins Pipeline,在Pipeline中定义了一系列流程和任务,可以自动化构建、测试、打包、发布和部署过程。

Multibranch Pipeline(多分支流水线项目):这个选项可以创建一个多分支Pipeline项目,同时支持不同的分支构建和测试。

Folder:文件夹,用于组织和管理 Jenkins 中的多个项目

新建Item,输入工程的名称(例如 My Pipeline) ,选择多分支流水线(Multibranch Pipeline),确定

会进入到新建Item的Configuration(配置),点击增加源(Add Source),选择您想要使用的仓库类型并填写详细信息.

执行构建

查看日志

安装maven插件

配置maven和jdk

编译打包

构建 --> 添加构建步骤 --> Executor Shell
返回刚才的项目,添加配置

bash 复制代码
echo "开始编译和打包"
mvn clean package
echo "编译和打包结束"

新增参数化构建过程,使用JDK1.8编译

4. 设置源码管理

在源码管理设置模块,选择Git,然后输入Gitee项目仓库地址,如下图:

5. 设置构建触发器

  • 配置触发器,例如定时构建、代码提交时构建等。

6. 构建步骤

  • 配置构建的具体步骤,如编译、打包、测试等。

继续往下翻,POST Steps 处,勾选 Run regardless of build result,然后添加构建步骤(Add post-build step),选择执行Windows批处理命令(Execute Windows batch command),然后输入下面内容:

最后点击【保存】按钮,然后开始构建:

查看编译日志4

相关推荐
七夜zippoe1 小时前
DolphinDB 运维工具实战:自动化脚本体系设计与落地(2.0.x)
运维·dolphindb·自动化脚本·体系设计·体系落地
玉&心1 小时前
在Docker中部署前端和后端的实现
运维·docker·容器
wdfk_prog1 小时前
Docker 常用语法与命令:CLI、Dockerfile 与 Compose 速查
运维·docker·容器
skywalk81632 小时前
通过下载Ubuntu ova文件在Virtual Box快速安装ubuntu
linux·运维·ubuntu·virtualbox
姚不倒2 小时前
HAProxy 系列(四):多中间件统一 VIP 入口 — 架构模式与最佳实践
运维·中间件·架构·haproxy
happymade2 小时前
7000 台网络设备批量纳管 & 自动拓扑生成实战——MSRM3 完整操作流程与关键要点复盘
运维·服务器·网络·zabbix·grafana·msrm3
做萤石二次开发的哈哈2 小时前
萤石蓝海 AIoT 一站式工作台:海康LCD会议平板接入,多端大屏运维应用一站生成
运维·物联网·电脑·萤石开放平台·会议室管理·蓝海aiot一站式工作台·otap物模型
~远在太平洋~2 小时前
06-鸿蒙系统 uitest UI 自动化指南
ui·自动化·harmonyos
Shadow(⊙o⊙)2 小时前
Linux网络——文件与网络的连接桥梁struct sock {
linux·运维·网络
其实防守也摸鱼2 小时前
教育信息技术应用创新---基础软件信息赛(题库)
大数据·运维·人工智能·web安全·自动化