当前位置: 首页 > article >正文

Jenkins|安装部署全流程

一、Jenkins 简介

什么是Jenkins ?

  Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成( CI/CD)。

软件项目CI/CD是什么 ?

  CI(Continuous Integration)始终指持续集成 ,CD(Continuous Delivery/Continuous Deployment)是持续交付和/或持续部署,总结为如下三点。

  • 持续集成
  • 持续交付
  • 持续部署

集成架构:
在这里插入图片描述
基本流程:
基本流程

二、安装前准备

本文Jenkins安装主要基于Linux环境,需要安装Java11(注意当前jenkins支持的Java版本最低为Java11)、Git环境

1、安装Yum

# apt-get来先将yum
apt-get install yum# 更新APT库
apt-get update
apt-get upgrade# 查看yum版本
yum --version

2、安装Git

# yum安装git
yum install git# 查看Git版本
git --version

3、安装Maven

配置结果如下,若没有安装Maven可以到官网下载👇 Maven历史版本下载地址

# 安装目录
cd /usr/local
# 根据需要下载对应版本
wget https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
# 解压
tar -vxf apache-maven-3.6.3-bin.tar.gz
# 修改文件名
mv apache-maven-3.6.3 maven# 添加环境变量
vim /etc/profile
export MAVEN_HOME=/usr/local/maven
export PATH=${PATH}:${MAVEN_HOME}/bin# 查看Maven版本
mvn -v

三、安装Jenkins

1、安装Jenkins镜像源

# 安装jekins镜像源
sudo wget --no-check-certificate -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.keysudo wget --no-check-certificate  http://pkg.jenkins-ci.org/redhat-stable/jenkins-2.190.3-1.1.noarch.rpm
sudo rpm -ivh jenkins-2.190.3-1.1.noarch.rpm

2、安装Jenkins

# yum安装jekins
yum -y install jenkins

3、配置Jenkins

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

# 修改端口号(修改两个地方)
vim /etc/sysconfig/jenkins
# 找到下面的文字
JENKINS_PORT="8090" # 修改为自己想要的端口号
vim /usr/lib/systemd/system/jenkins.service
# 找到下面的文字
Environment="JENKINS_PORT=8080" # 修改为自己想要的端口号# 修改Jenkins前缀(方便Nginx代理)
vim /usr/lib/systemd/system/jenkins.service
# 找到下面的文字
Environment="JENKINS_PREFIX=/jenkins" # 修改为自己想要的端口号

在这里插入图片描述

# 修改镜像源
find / -name *.UpdateCenter.xml
vi /var/lib/jenkins/hudson.model.UpdateCenter.xml
# 改为以下地址:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

四、启动Jenkins

# 重新加载配置文件
systemctl daemon-reload
# 重启jenkins
systemctl restart jenkins

在这里插入图片描述
获取管理员密码:

# 获取管理员密码
cat /var/jenkins_home/secrets/initialAdminPassword

新手使用“安装推荐的插件”,并创建账户
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


恭喜你🎉现在Jenkins已经安装好,有经验同学可以直接使用,想进一步了解配置、部署的同学请继续下文


五、Jenkins部署

1、插件下载安装

  • Maven Integration:Maven 构建工具 。
  • Publish Over SSH:整个工具,将来把 Jenkins 打包好的,jar 上传到应用服务器上。
  • Github 服务器。使用gitee也可以下载插件 Gitee,这里主要讲述Github

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2、Jenkins全局工具配置

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、Jenkins添加服务器

在这里插入图片描述
在这里插入图片描述

4、Jenkins添加凭证

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Github主页头像 setting Settings Developer Settings Personal access tokens (classic)

在这里插入图片描述

在这里插入图片描述

5、Jenkins添加项目

测试项目基于SpringBoot

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6、项目构建脚本

留意 :修改👇脚本APP_NAME、DEPLOY_DIR 、JAVA_HOME 三个变量名称或位置

  • APP_NAME和上面Jenkins ⇢ SSH Publishers ⇢ Source Filesjar包文件名保持一致
  • DEPLOY_DIR和上面Jenkins ⇢ SSH Publishers ⇢ Rmoate directory目录保持一致
  • 脚本存放目录和Jenkins配置的 ⇢ SSH Publishers ⇢ Exec Command执行目录保持一致
#!/bin/bashAPP_NAME="bs-admin-1.0-SNAPSHOT"
echo `date '+%Y-%m-%d %H:%M:%S.%N'` : "service [$APP_NAME] begin deploy"DEPLOY_DIR=/home/jenkins/bs/admin
JAVA_HOME=/usr/lib/jvm/jre-11-openjdk
cd $DEPLOY_DIRecho $DEPLOY_DIR
echo `date '+%Y-%m-%d %H:%M:%S.%N'` : "service deploy dir in [$DEPLOY_DIR]"PID=$(ps -ef | grep $APP_NAME | grep -v grep | grep -v sudo | awk '{print $2}')
if [ -z "$PID" ]
thennohup $JAVA_HOME/bin/java -Xmx512m -Xms512m -jar -Dspring.profiles.active=dev $DEPLOY_DIR/$APP_NAME.jar > $DEPLOY_DIR/log/$(date +'%Y%m%d').log &
elsekill -9 $PIDnohup $JAVA_HOME/bin/java -Xmx512m -Xms512m -jar -Dspring.profiles.active=dev $DEPLOY_DIR/$APP_NAME.jar > $DEPLOY_DIR/log/$(date +'%Y%m%d').log &
fiecho `date '+%Y-%m-%d %H:%M:%S.%N'` : "service [$APP_NAME] deploy success"
echo "Build successful"

补充:若是因权限执行失败,需要使用 ⬇️指令给文件或目录添加权限

chmod 777 目录/文件

六、补充

1、增加编译效率修改Maven仓库地址

<!---华为云mirror-->
<mirror><id>huaweicloud</id><mirrorOf>*</mirrorOf><url>https://mirrors.huaweicloud.com/repository/maven/</url>
</mirror>

参考文章:

[1]jenkins部署springboot项目(超详细讲解).https://blog.csdn.net/a2285786446/article/details/130981868[EB/OL].
[2]Jenkins-pipeline-Docker 实现CI/CD.http://t.csdn.cn/LZF6F[EB/OL].
[3]Jenkins的简单使用,小白式教程.http://t.csdn.cn/NmBR6[EB/OL].
[4]Linux下的Jenkins安装教程.http://t.csdn.cn/YO1PW[EB/OL].

http://www.lryc.cn/news/2415027.html

相关文章:

  • 服务器linux操作系统重装的完整流程-傻瓜式教学
  • CSS 5 ,深入理解 CSS 选择器:全面指南
  • 【【IDE】Visual Studio Code 保姆级入门教程(二)——用C++完成基本的单文件程序的创建、调试与运行】
  • nexus 入门学习
  • Markdown(编辑器)工具与使用总结Markdown语法图文全面详解
  • ①flutter简介和环境构建①
  • 宝塔的安装教程
  • 万字长文解析Bootstrap权威教程:从入门到精通逐步掌握前端开发框架
  • 图巨多,手把手教学Android-Studio超详细安装过程
  • 什么是base64
  • 扫雷——完整版!!!!!!
  • JSON数据生成器教程
  • IDEA最详细配置让开发效率起飞,这还不赶紧收藏?,赶紧收藏
  • 房内事对白经典!!!!
  • VSCode 安装流程与基础操作(图文版)
  • 开心网不开心:用户,该怎样让你留下来?
  • 程序员面试时候出的一些逻辑问题
  • ESET NOD32最新单机、企业中、英文版 + 个人专有ID(90天使用期)申请方法
  • CNGI高校驻地网IPv6用户数量排名
  • Java设置cookie原理
  • R语言检索网址汇总
  • 复习第20天(File对象)
  • MSVCP71.DLL msvcr71.dll丢失 64位
  • 已解决socket.timeout : The read operation timed out
  • 摄像机主要指标及参数
  • PHP极简网盘系统源码
  • ueditor使用指南
  • 腾讯云mysql默认支持双主备吗_最大支持1主15备模式,腾讯云张青林详解CynosDB四大核心性能...
  • 2018年省赛题
  • 阿里云挖矿病毒解决