快速搭建Jenkins自动化集成cicd工具

一、简介

jenkins是一款优秀的自动化持续集成运维工具,可以极大的简化运维部署的步骤。

传统的项目部署需要手动更换最新的项目代码,然后打包并运行到服务器上。

使用Jenkins可以自动化实现,当代码编写完成并提交到git后,Jenkins可以自动的拉取最新的代码,并编译打包,打包完成后可以自动去启动运行完成项目部署,无需手动操作,极大地提高了工作效率.

二、前置知识准备

如果想使用jenkins,你需要至少掌握以下知识:

java,maven,git,基础的linux命令

三、环境要求

  • Jenkins是用java开发的,所以部署环境需要有java环境;(现在的jenkins要求jdk至少11及以上,否则会出现无法启动,插件无法下载等问题)
  • 现在的项目大多数都是maven管理的,项目打包需要有maven环境;
  • 项目更新需要通过git来拉取,需要安装git;
  • 代码托管远程仓库可以搭建gitlab,当然也可以使用github或者gitee等远程仓库;
  • jenkins对服务器配置要求比较高,服务器内存至少要有4G(如果2G服务器全新环境没有其他项目运行的话可以跑)

四、搭建总览

1、Jenkins安装文件是一个war包,可以通过`java -jar xxx.war`启动,默认端口为8080

2、启动后会在服务器上输出初始化的密码,将密码复制到运行页面进行初始化

3、创建账号登录后,下载插件,配置git项目路径,maven存储仓库路径

4、配置构建项目的位置,前置后置

5、使用Jenkins测试构建项目

五、搭建

从Jenkins官网下载(下面步骤是安装在linux服务器上的)官网下载https://www.jenkins.io/download/

具体操作如下:

bash 复制代码
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key

使用国内镜像下载

bash 复制代码
 yum install https://mirror.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.401.2-1.1.noarch.rpm

下载完成后找到安装包位置

bash 复制代码
find / -name jenkins.war

启动服务

bash 复制代码
java -jar /usr/share/java/jenkins.war

效果如下:

会生成一串初始密码,说明Jenkins已经启动

打开浏览器 ip:8080进入Jenkins应用页面,复制密码

选择默认安装,然后就会下载插件,创建账户

完成安装,进入jenkins控制台

接下来需要给Jenkins配置maven,git等自定义配置

六、自定义配置

一、maven插件构建项目

首先确保服务器的git,maven是已经安装配置好的,安装过程不再赘述

maven3.8.6安装包:

链接:https://pan.baidu.com/s/1wVh3F32P1UiegBjrV6aXoA

提取码:jxp8

ps:记得配置国内镜像

1、下载maven插件

然后安装完成后可以开始构建任务,控制台首页-构建新任务

2、配置git和maven

git

maven

3、配置好后,开始构建

控制台会实时打印输出

因为是第一次构建,需要下载jar包,时间会稍长

build success说明构建成功了

我们可以进入路径查看构建好的文件

运行一下项目看看

浏览器打开发现是可以访问的

当然这种手动启动项目的方式也是可以通过Jenkins来自动化启动

二、自动化启动项目

下载插件

安装好后配置服务器信息

设置完测试一下,如果success说明配置成功,保存

接下来配置已构建任务中的后续步骤

设置好后立即构建

构建完成后发现也自动启动好了项目

浏览器也能正常访问

至此,Jenkins自动构建项目并自动运行项目完成。

当然也有可以优化的地方,比如当更新构建时,可以在执行前先关闭项目运行,并把之前的项目文件先删除再更新;设置超时时间等,大家也可以动手试试。

参考文档:​​​​​​使用yum命令安装Jenkins时的常见问题及解决方案-CSDN博客

【尚硅谷】Jenkins教程(从配置到实战)_哔哩哔哩_bilibili

相关推荐
D-海漠10 分钟前
基础自动化系统的特点
运维·自动化
我言秋日胜春朝★19 分钟前
【Linux】进程地址空间
linux·运维·服务器
C-cat.40 分钟前
Linux|环境变量
linux·运维·服务器
yunfanleo1 小时前
docker run m3e 配置网络,自动重启,GPU等 配置渠道要点
linux·运维·docker
烦躁的大鼻嘎2 小时前
【Linux】深入理解GCC/G++编译流程及库文件管理
linux·运维·服务器
乐大师2 小时前
Deepin登录后提示“解锁登陆密钥环里的密码不匹配”
运维·服务器
bug管理者2 小时前
UI自动化测试中公认最佳的设计模式-POM
jenkins·策略模式
ac.char2 小时前
在 Ubuntu 上安装 Yarn 环境
linux·运维·服务器·ubuntu
敲上瘾2 小时前
操作系统的理解
linux·运维·服务器·c++·大模型·操作系统·aigc
传而习乎3 小时前
Linux:CentOS 7 解压 7zip 压缩的文件
linux·运维·centos