快速搭建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

相关推荐
叫我龙翔22 分钟前
【Linux】进程间关系与守护进程
linux·运维·服务器·计算机网络
S hh43 分钟前
【Linux】进程地址空间
java·linux·运维·服务器·学习
苹果醋31 小时前
大模型实战--FastChat一行代码实现部署和各个组件详解
java·运维·spring boot·mysql·nginx
梁诚斌2 小时前
VSOMEIP代码阅读整理(1) - 网卡状态监听
运维·服务器·网络
深情废杨杨2 小时前
服务器几核几G几M是什么意思?如何选择?
运维·服务器
康熙38bdc2 小时前
Linux 进程优先级
linux·运维·服务器
Web极客码2 小时前
常见的VPS或者独立服务器的控制面板推荐
运维·服务器·控制面板
只是有点小怂2 小时前
parted是 Linux 系统中用于管理磁盘分区的命令行工具
linux·运维·服务器
三枪一个麻辣烫3 小时前
linux基础命令
linux·运维·服务器
cuisidong19973 小时前
如何在 Kali Linux 上安装 Google Chrome 浏览器
linux·运维·chrome