如何通过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

相关推荐
huangyuchi.11 小时前
【Linux系统】初见线程,概念与控制
linux·运维·服务器·页表·linux线程概念·linux线程控制·分页式存储管理
葡萄城技术团队11 小时前
SpreadJS:让多源数据筛选排序如 Excel 般便捷高效
运维·服务器·excel
宇钶宇夕12 小时前
S7-200 SMART 实战:自动包装控制系统的指令应用拆解
运维·自动化
半桔12 小时前
【Linux手册】信号量与建造者模式:以 PV 操作保证并发安全,分步组装构建复杂对象
linux·运维·安全·建造者模式
雷工笔记12 小时前
Linux系统学习之注意事项及命令基本格式
linux·运维·服务器
m0_4646082612 小时前
Nginx SSL/TLS 配置
运维·nginx·ssl
胡萝卜的兔13 小时前
ssh域名过期,消息推送到企业微信
运维·ssh·企业微信
TG_yunshuguoji13 小时前
阿里云国际代理:稳定、高效、便捷的数据库服务-云数据库RDS
运维·服务器·数据库·阿里云·云计算
wanhengidc13 小时前
云手机可以用来托管游戏吗?
运维·网络·安全·游戏·智能手机
Insist75313 小时前
OpenEuler安装gitlab,部署gitlab-runner
linux·运维·服务器