参考:https://llinp.cn/articles/2022/01/01/1640998831081.html
#进入到src目录下
cd /usr/local/src/
#创建java文件目录
mkdir java
#将下载好的jdk压缩包存放到java目录中,并使用解压命令进行解压
tar -zxvf jdk-8u212-linux-x64.tar.gz
#修改环境变量
vim /etc/profile
#set java env
JAVA_HOME=/usr/local/src/java/jdk1.8.0_212
JAVA_BIN=/usr/local/src/java/jdk1.8.0_212/bin
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
#通过命令source /etc/profile让profile文件立即生效
source /etc/profile
#测试是否安装成功
java -version
出现下图的效果就说明jdk环境已经配置好了

#第一步:上传或下载安装包
cd/usr/local
apache-maven-3.6.1-bin.tar.gz
#第二步:解压安装包
tar -zxvf apache-maven-3.6.1-bin.tar.gz
#第三步:建立软连接
ln -s /usr/local/apache-maven-3.6.1/ /usr/local/maven
#第四步:修改环境变量
vim /etc/profile
export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$MAVEN_HOME/bin
#通过命令source /etc/profile让profile文件立即生效
source /etc/profile
#第五步、测试是否安装成功
mvn –v

yum -y install git
#验证docker是否安装好, 命令查看docker的版本,虚拟机中的docker已经装好了,1.7.3到1.7.1中的安装命令不要执行。
docker version
#卸载老版本的 docker 及其相关依赖
sudo yum remove docker docker-common container-selinux docker-selinux docker-engine
#安装 yum-utils**,它提供了** yum-config-manager**,可用来管理yum源**
sudo yum install -y yum-utils
#添加yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#更新索引
sudo yum makecache fast
#安装 docker-ce
sudo yum install docker-ce
#查看docker状态
systemctl status docker
#启动 docker
systemctl start docker
# 启动
service docker start
# 停止
service docker stop
# 重启
service docker restart
#验证是否安装成功
docker info
#查看装好的镜像
docker images
#查看容器
#显示所有容器
docker ps -a
#显示所有正在运行的容器
docker ps
详细安装教程参见:
https://llinp.cn/articles/2022/01/09/1641738726437.html#toc_h2_0
下载jenkins
官方地址:https://www.jenkins.io/download/

安装
#第一步:上传或下载安装包
cd/usr/local/jenkins
jenkins.war
#第二步:启动
#nohup-后台静默启动
#/usr/local/jenkins/jenkins.war war包路径
#/usr/local/jenkins/jenkins.out 日志输入路径
#nohup & 后台静默启动
nohup java -jar /usr/local/jenkins/jenkins.war >/usr/local/jenkins/jenkins.out &
#第三步:访问
http://ip:8080
安装成功之后的效果,刚开始访问会有一个初始化界面不需要操作等待即可,如果等待很久没有变化则kill -9 进程号,重新启动即可
初始化界面


密码解锁
cat /root/.jenkins/secrets/initialAdminPassword

注意默认是国外镜像,下载非常慢。建议到此关闭浏览器配置国内的镜像

官方下载插件慢 更新下载地址
cd {你的Jenkins工作目录}/updates #进入更新配置位置
#将镜像地址替换曾
sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
这是直接修改的配置文件,如果前边Jenkins用sudo启动的话,那么这里的两个sed前均需要加上sudo(linux登录账户不是超级管理员的话)
#查看jenkins进程
ps -ef|grep jenkins

#杀掉进程,停止jenkins
kill -9 37820

进入到 cd /root/.jenkins目录中
cd /root/.jenkins
进入updates目录
cd updates/
执行语句替换镜像地址为国内镜像地址
sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
查看替换后的default.json内容(cat、tail都可以查看文件内容)
tail default.json
或
cat default.json
重启jenkins
nohup java -jar /usr/local/jenkins/jenkins.war >/usr/local/jenkins/jenkins.out &
选择安装推荐的插件
安装中

安装成功
正常填写即可

配置访问地址
这里默认端口是8080根据需要进行切换

进入到这个界面jenkins的安装就完成了

jenkins的配置准备工作
1.下载jdk
2.下载maven
3.下载git
4.下载jenkins.war https://jenkins.io/index.html
下载地址:
链接:https://pan.baidu.com/s/1E-uQbZLVRGWkR_14xuPCLg
提取码:35sv
登录

jenkins管理界面


进入全局配置

#查看jdk安装路径
which jdk

这里我的jdk安装路径是/usr/local/src/java/jdk1.8.0_212


#查看git安装路径
which git



修改pom文件
修改打包方式
<packaging>jarpackaging>
打包插件
<build>
<finalName>demojenkinsfinalName>
<plugins>
<plugin>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-maven-pluginartifactId>
plugin>
plugins>
build>

创建item

源码管理填入项目git地址

添加用户名和密码

构建环境

脚本文件
#!/bin/bash
#maven打包
mvn clean package
echo 'package ok!'
echo 'build start!'
cd ./
service_name="demojenkins"
service_prot=8761
#查看镜像id 判断demojenkins镜像是否存在
IID=$(docker images | grep "$service_name" | awk '{print $3}')
echo "IID $IID"
if [ -n "$IID" ]
then
#如果存在则删除镜像
echo "exist $SERVER_NAME image,IID=$IID"
#删除镜像
docker rmi -f $service_name
echo "delete $SERVER_NAME image"
#删除之后重新构建
docker build -t $service_name .
echo "build $SERVER_NAME image"
else
#不存在则直接构建
echo "no exist $SERVER_NAME image,build docker"
#构建
docker build -t $service_name .
echo "build $SERVER_NAME image"
fi
#查看容器id,查看有哪些正在运行的容器
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
echo "CID $CID"
if [ -n "$CID" ]
then
#如果存在相同的容器则停止删除
echo "exist $SERVER_NAME container,CID=$CID"
#停止
docker stop $service_name
#删除容器
docker rm $service_name
else
echo "no exist $SERVER_NAME container"
fi
#启动,创建容器
docker run -d --name $service_name --net=host -p $service_prot:$service_prot $service_name
#查看启动日志,根据选择是否查看
#docker logs -f $service_name

构建之前需要启动docker

开始执行任务

查看控制台输出

至此项目就构建完成了

最终效果

构建结构
我这里用到的jenkins是2.319.2的版本图片已经做了改变,图标的表示可以根据对于的解释来看
第一列是 “上次构建状态显示”,是一个圆形图标,一般分为四种:

蓝色:构建成功;

黄色:不确定,可能构建成功,但包含错误;

红色:构建失败;

灰色:项目从未构建过,或者被禁用;
如上显示蓝色,表示构建成功。
注意:手动触发构建的时间与自动定时构建的时间互不影响。