欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 幼教 > Jenkins学习

Jenkins学习

2025/9/19 5:24:53 来源:https://blog.csdn.net/howwickhappy/article/details/142411510  浏览:    关键词:Jenkins学习

系列文章目录

第一章 基础知识、数据类型学习
第二章 万年历项目
第三章 代码逻辑训练习题
第四章 方法、数组学习
第五章 图书管理系统项目
第六章 面向对象编程:封装、继承、多态学习
第七章 封装继承多态习题
第八章 常用类、包装类、异常处理机制学习
第九章 集合学习
第十章 IO流、多线程学习
第十一章 仓库管理系统JavaSE项目
第十二章 员工管理系统、多表查询、反射实现DBHelper学习
第十三章 DML、DDL、数据库对象学习
第十四章 网络编程、各种标签、CSS学习
第十五章 ECMAScript、BOM学习
第十六章 DOM、jQuery学习
第十七章 servlet、jsp、Cookie、Ajax学习
第十八章 融资管理系统JavaWeb项目
第十九章 MyBatis框架学习
第二十章 逆向工程、Spring框架IOC、AOP学习
第二十一章 SpringMVC框架学习
第二十二章 SpringBoot框架学习
第二十三章 招聘网站框架项目
第二十四章 Vue介绍、窗体内操作、窗体间操作学习
第二十六章 Vue路由配置、网络请求访问框架项目、element组件介绍学习
第二十五章 标准管理系统Vue项目
第二十六章 Linux安装、Nginx反向代理、负载均衡学习
第二十七章 Docker学习
第二十八章 Jenkins学习


文章目录

  • 系列文章目录
  • 前言
  • 一、Jenkins介绍
    • 1. Jenkins介绍
    • 2. CI/CD介绍
  • 二、Jenkins安装
    • 1. 上传文件
    • 2. 安装Jenkins
    • 3. 修改启动用户为root
    • 4. 配置Java环境
    • 5. 启动Jenkins
    • 6. 检测目录
    • 7. 登录
    • 8. 修改密码
    • 9. 安装插件
    • 10. 拷贝插件
    • 11. 重启Jenkins
  • 三、Git设置
    • 1. 上传文件
    • 2. 解压压缩包
    • 3. 安装所需依赖
    • 4. 编译
    • 5. 安装
    • 6. 修改环境变量
    • 7. 检查git
    • 8. 在Jenkins添加git配置
  • 四、Git流水线
    • 1. 创建流水线
    • 2. 测试流水线
  • 五、Maven配置
    • 1. 上传文件
    • 2. 解压文件
    • 3. 配置环境变量
    • 4. 加载环境变量
    • 5. 测试Maven安装成功与否
    • 6. 替换Maven源
  • 六、Maven流水线
    • 1. 配置Maven环境变量
    • 2. 第一段流水线:Git拉去代码
    • 3. 第二段流水线:把下载的项目打包成.jar文件
    • 4. 第三条流水线:将.jar文件做成Docker镜像
    • 5. 第四段流水线:通过镜像创建容器并启动
    • 6. 第五、六段流水线:删除已存在的容器和镜像
  • 总结


前言

本文我们要讲述:
Jenkins
通过网盘分享的文件:jenkins所需文件
链接: https://pan.baidu.com/s/1djcU9WF6iaGbP_JTZKrU5Q?pwd=m4cz 提取码: m4cz
在下攸攸太上,我在69年6月9日,在电脑上吃了大粪,香的让我跳了起来。


一、Jenkins介绍

1. Jenkins介绍

Jenkins是一个开源的持续集成和持续交付(CI/CD)工具,用于自动化构建、测试和部署软件项目,通过灵活的插件架构和丰富的功能,实现了软件交付流程的自动化。

2. CI/CD介绍

持续集成(Continuous Integration,简称CI)的核心概念是将代码集成到共享存储库中的主干分支中,而不是在开发周期的最后阶段。开发人员在完成代码编写后,将其提交到共享存储库。然后,CI服务器会自动触发构建过程,编译代码并运行自动化测试。如果构建和测试成功,结果将被反馈给开发团队。

持续交付(Continuous Delivery,简称CD)是指将软件的构建、测试和部署过程自动化,以实现快速、可靠地交付软件的能力。它是CI的延伸,旨在进一步优化软件开发和发布的流程。

在持续交付中,开发人员通过版本控制系统将代码提交到共享存储库中。然后,持续交付系统会自动触发构建过程,编译代码、运行自动化测试,并生成可部署的软件包。如果构建和测试成功,系统会自动将软件包部署到指定的环境中,例如测试环境或生产环境。

CI的主要目标是尽早发现和解决问题,以减少集成和发布过程中的风险。通过频繁地集成代码,团队可以更快地发现潜在的问题,并及时修复它们。这有助于提高软件质量、加快开发速度,并促进团队协作。

二、Jenkins安装

1. 上传文件

我们创建/usr/local/jenkins目录(建jenkins文件夹)
在这里插入图片描述

2. 安装Jenkins

cd /usr/local/jenkins
rpm -ivh  jenkins-2.263-1.1.noarch.rpm

3. 修改启动用户为root

vim /etc/sysconfig/jenkins

在文件中将JENKINS_USER=“root”
在这里插入图片描述

4. 配置Java环境

vim /etc/rc.d/init.d/jenkins

在打开的文件中,在光标位置写入如下语句

/usr/local/jdk/jdk1.8.0_231/bin/java

在这里插入图片描述

5. 启动Jenkins

systemctl start jenkins
systemctl status jenkins

在这里插入图片描述
看到actice(running)代表启动成功

6. 检测目录

ll /var/lib/jenkins

在这里插入图片描述
看到很多文件,说明之前的步骤没有错误;
如果没有文件,说明之前的操作有误

7. 登录

通过虚拟机ip:8080访问
进入Jenkins网页,需要输入密码
密码查询语句

cat /var/lib/jenkins/secrets/initialAdminPassword

在这里插入图片描述
将密码输入密码栏,点击登录后略作等待
会出现插件安装界面,我们点击右上角的X跳过插件安装环节

8. 修改密码

我们点击右上角小人下的Configure,进入设置用户界面,将密码改成自己的密码后save。
后可以根据用户名和密码登录Jenkins
在这里插入图片描述
在这里插入图片描述

9. 安装插件

cd /usr/local/jenkens
tar -zxvf jenkins-plugins.tar.gz
ll plugins/ |wc -l

此为安装插件命令,先进入文件夹,后解压文件,最后查看解压后文件有多少个
在这里插入图片描述

10. 拷贝插件

cp -a plugins/* /var/lib/jenkins/plugins/
ll /var/lib/jenkins/plugins/ |wc -l

将下载好的插件拷贝到指定文件夹下,查看该目录下的文件个数,应该是191,我之后还做了其他操作,所以多了几个
在这里插入图片描述

11. 重启Jenkins

/etc/init.d/jenkins restart

刷新网页后再次登录,可以到Dashboard下的ManageJenkins

三、Git设置

1. 上传文件

将此文件放入/usr/local/git中(新建git文件夹)
在这里插入图片描述

2. 解压压缩包

cd /usr/local/git
tar -zxvf git-2.33.0.tar.gz

3. 安装所需依赖

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

输入y

4. 编译

cd git-2.33.0
make prefix=/usr/local/git all

执行编译命令,需要等很长时间

5. 安装

make prefix=/usr/local/git install

6. 修改环境变量

vim /etc/profile

打开配置文件
将下面的代码复制到配置文件中

export PATH=$PATH:/usr/local/git/bin

在这里插入图片描述

7. 检查git

git --version

在这里插入图片描述

8. 在Jenkins添加git配置

在首页中打开Credentials
在这里插入图片描述
点击下方(global)
在这里插入图片描述
点击Add Credentials
在这里插入图片描述
写入用户名与密码后,点击ok
在这里插入图片描述
点击Update
在这里插入图片描述
可以看到ID已经自动生成了
在这里插入图片描述

四、Git流水线

1. 创建流水线

首页进入New Item
在这里插入图片描述
输入项目名称并选择Pipeline后ok
在这里插入图片描述
Description写入项目描述
在这里插入图片描述
滚到最底部点击在这里插入图片描述
1、先在Sample Step中选择git:Git
2、创建一个将百度网盘中的240919_DemoNginx项目传到Git上,复制他的地址
https://gitee.com/jinjingyuan/240921foureight.git
3、Branch选择master
4、Credentials选择刚刚创建的用户
5、点击Generate Pipeline Script按钮
在这里插入图片描述
复制生成的流水线代码

git credentialsId: 'da6c7934-bfce-4e17-adb9-ec41d8c0fd35', url: 'https://gitee.com/jinjingyuan/240921foureight.git'

将复制的流水线代码用node包裹,放在Pipeline的Script中
在这里插入图片描述
以上步骤完毕后,点击Save

2. 测试流水线

在项目中点击Build Now
在这里插入图片描述
在运行的流水线中点击Console Output
在这里插入图片描述
最后会说SUCCESS
在这里插入图片描述

五、Maven配置

1. 上传文件

创建/usr/local/maven文件夹
放入maven压缩包
在这里插入图片描述

2. 解压文件

cd /usr/local/maven
tar -zxvf apache-maven-3.3.9-bin.tar.gz

在这里插入图片描述

3. 配置环境变量

vim /etc/profile

加入如下代码

MAVEN_HOME=/usr/local/maven/apache-maven-3.3.9
PATH=${MAVEN_HOME}/bin:${PATH}
export PATH

在这里插入图片描述

4. 加载环境变量

source /etc/profile

在这里插入图片描述

5. 测试Maven安装成功与否

mvn -v

在这里插入图片描述

6. 替换Maven源

vim /usr/local/maven/apache-maven-3.3.9/conf/settings.xml

进入settings.xml文件,找到nirrors标签,添加如下内容

	<mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf><releases><enabled>true</enabled><updatePolicy>always</updatePolicy></releases><snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots></mirror><localRepository>/usr/local/maven/apache-maven-3.3.9/repository</localRepository>

在这里插入图片描述
后创建/usr/local/maven/apache-maven-3.3.9/repository文件夹

六、Maven流水线

目的:拉取最新代码,将代码打包好,做成镜像,上传到docker中,启动容器后,外部可以访问。

1. 配置Maven环境变量

Jenkins首页点击Manage Jenkins
在这里插入图片描述
点击Configure System
在这里插入图片描述
在Global properties下Add三个环境变量
MAVEN HOME
/usr/local/maven/apache-maven-3.3.9
JAVA HOME
/usr/local/idk/jdk1.8.0 231
PATH+EXTRA
$MAVEN HOME/bin
在这里插入图片描述

2. 第一段流水线:Git拉去代码

我们在Build History里找到#1,在#1下拉框找到Replay
在这里插入图片描述
在Main Script中,用

stage('pull code'){     }

包裹原来的第二行,后Run
在这里插入图片描述
结果:
在这里插入图片描述
在这里插入图片描述

3. 第二段流水线:把下载的项目打包成.jar文件

先去终端运行

/etc/init.d/jenkins restart

类似第一条流水线,我们点击#2的Replay
在这里插入图片描述
点击Console Output
在这里插入图片描述
复制这部分代码**/var/lib/jenkins/workspace/demo0921**
在这里插入图片描述
将Main Script改成如下形式,/var/lib/jenkins/workspace/demo0921放在dir的’‘内,Run
node{
stage(‘compile’){
dir(’/var/lib/jenkins/workspace/demo0921’){
sh ‘mvn clean install’
}
}
}
在这里插入图片描述
检验:
cd /var/lib/jenkins/workspace/demo0921
ll
cd …
ll
四条语句分别执行
在这里插入图片描述

4. 第三条流水线:将.jar文件做成Docker镜像

cd demo0921
mvn clean install

在这里插入图片描述

ll
cd target
ll
java -jar 240919_DemoNginx-1.0-SNAPSHOT.jar

在这里插入图片描述
访问页面显示admin:8888即代表操作成功
在这里插入图片描述
执行如下命令
cd /var/lib/jenkins/workspace/demo0921
rm -rf target
/etc/init.d/jenkins restart
sudo usermod -aG docker jenkins
sudo systemctl restart jenkins
/etc/init.d/jenkins restart
Replay的Main Script中
checkout=0
node {
stage(‘pull code’){
git credentialsId: ‘0d34702d-9692-4d06-90f9-821e743c9bc7’, url: ‘https://gitee.com/quanmingzhe/240921maven.git’
}
stage(‘compile’){
dir(‘/var/lib/jenkins/workspace/demo0921’){
sh ‘mvn clean install’
}
}
stage(‘make docker container’){
dir(‘/var/lib/jenkins/workspace/demo0921/target’){
sh “echo FROM openjdk:8 > Dockerfile”
sh “echo ADD 240919_DemoNginx-1.0-SNAPSHOT.jar /app.jar >> Dockerfile”
sh “echo RUN bash -c '”‘touch /app.jar’“’ >> Dockerfile”
sh “echo ENTRYPOINT ['”‘java’“‘,’”‘-jar’“‘,’”‘/app.jar’“'] >> Dockerfile”
sh “echo RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime >> Dockerfile”
sh “docker build -t demo0921 .”
}
}
}
在这里插入图片描述

5. 第四段流水线:通过镜像创建容器并启动

checkout=0
node {stage('pull code'){git credentialsId: '0d34702d-9692-4d06-90f9-821e743c9bc7', url: 'https://gitee.com/quanmingzhe/240921maven.git'}stage('compile'){dir('/var/lib/jenkins/workspace/demo0921'){   sh 'mvn clean install'}}stage('make docker container'){dir('/var/lib/jenkins/workspace/demo0921/target'){sh "echo FROM openjdk:8 > Dockerfile"sh "echo ADD 240919_DemoNginx-1.0-SNAPSHOT.jar /app.jar >> Dockerfile"sh "echo RUN bash -c '\"'touch /app.jar'\"' >> Dockerfile"sh "echo ENTRYPOINT ['\"'java'\"','\"'-jar'\"','\"'/app.jar'\"'] >> Dockerfile"sh "echo  RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime >> Dockerfile"sh "docker build -t demo0921 ."    }}stage('start'){sh 'docker run --name d8 -p 8989:8888 -d dasf'}
}

在这里插入图片描述

6. 第五、六段流水线:删除已存在的容器和镜像

checkout=0
node {stage('pull code'){git credentialsId: '0d34702d-9692-4d06-90f9-821e743c9bc7', url: 'https://gitee.com/quanmingzhe/240921maven.git'}stage('compile'){dir('/var/lib/jenkins/workspace/dasf'){   sh 'mvn clean install'}}stage('remove docker container'){if(checkout==0){sh 'docker stop d8'sh 'docker rm d8'sh 'docker rmi dasf'}}stage('make docker container'){dir('/var/lib/jenkins/workspace/dasf/target'){sh "echo FROM openjdk:8 > Dockerfile"sh "echo ADD 240919_DemoNginx-1.0-SNAPSHOT.jar /app.jar >> Dockerfile"sh "echo RUN bash -c '\"'touch /app.jar'\"' >> Dockerfile"sh "echo ENTRYPOINT ['\"'java'\"','\"'-jar'\"','\"'/app.jar'\"'] >> Dockerfile"sh "echo  RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime >> Dockerfile"sh "docker build -t dasf ."    }}stage('start'){sh 'docker run --name d8 -p 8989:8888 -d dasf'}
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
jenkins所需文件


总结

本文讲述了:
Jenkins:自动化构建、测试和部署软件项目
jenkins所需文件
我还在回味大粪圆圆的滋味,让我想起了之前吃过的7坨爱因斯坦的,他的那个颜色非常鲜艳,应该是1001年2月30日他吃了蛋糕的缘故。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词