上篇文章docker+jenkins+k8s集群搭建系列一、centos安装docker,制作镜像(jar包,使用Dockerfile制作镜像),启动容器中我们学习了在docker环境下使用Dockerfile文件手动给项目制作镜像,启动容器部署项目,这篇文章我们把这个流程交给jenkins,实现项目代码提交即刻自动部署。
使用工具:
jdk:
链接:https://pan.baidu.com/s/1Tz4BNZ2S3mK76ZqC2m71Qg
提取码:7abc
jenkins:
链接:https://pan.baidu.com/s/1Uf3FE9uqpTbsAiPeR2Xe4g
提取码:7abc

一、安装jdk

获取到rpm格式的jdk安装包后上传到服务器的opt路径下:
在这里插入图片描述
1、使用命令解压rmp安装包:

rpm -ivh jdk-8u221-linux-x64.rpm

执行后正确结果如下图:
在这里插入图片描述
2、配置环境变量
命令:

vim /etc/profile

在打开的文件中下图所示的位置添加以下几行代码(如果没有使用我提供的jdk文件记得修改代码中您使用的jdk对应的版本号):

JAVA_HOME=/usr/java/jdk1.8.0_221
JRE_HOME=/usr/java/jdk1.8.0_221/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPAT

在这里插入图片描述
保存
执行下面命令使添加的配置生效:

source /etc/profile

执行结果如下图:
在这里插入图片描述

二、安装GIT

命令:

yum install git

执行正确结果如下图:
在这里插入图片描述

三、安装jenkins

将准备好的jenkins安装包也放入opt路径下
1、使用命令解压安装包
命令:

rpm -ivh jenkins-2.222.1-1.1.noarch.rpm

执行正确结果如下图:
在这里插入图片描述
2、配置端口以及权限
命令:

vim /etc/sysconfig/jenkins

①参照下面两行代码修改打开的文件:

#监听端口
JENKINS_PORT="8080"
#修改配置
$JENKINS_USER="root"

修改结果如下图:
在这里插入图片描述
②修改目录权限
命令:

chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins

执行正确结果如下:
在这里插入图片描述
③重启jenkins

service jenkins restart
ps -ef | grep jenkins

执行正确结果如下:
在这里插入图片描述
④查看jenkins初始密码:
命令:

cat /var/lib/jenkins/secrets/initialAdminPassword

执行正确结果如下:
在这里插入图片描述

复制上图中标出的字符串,这个就是jenkins首次登陆使用的密码。

四、登陆jenkins

使用服务器ip+8080端口的链接登陆:http://39.105.***.167:8080/
为什么使用8080端口?上面我们已经把jenkins的端口修改为8080了
访问后跳转页面如下:
在这里插入图片描述

这时候上面查看密码命令所查到的那行字符串就派上用场了,那个就是jenkins首次登陆的初始密码,输入上图中的管理员密码框中,点击继续。
在这里插入图片描述
选择安装推荐的插件,接下来就是漫长的等待。。。
其实可以加速一下这个过程:
进入jenkins安装目录:

cd /var/lib/jenkins/updates

执行如下命令替换default.json中的外网链接

sed -i 's/http:\/\/updates.jenkins-ci.org\/download/http:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/http:\/\/www.baidu.com/g' default.json

执行结果如下图:
在这里插入图片描述
重启jenkins

service jenkins restart

执行结果如下图:
在这里插入图片描述
刷新jenkins登录页面:
在这里插入图片描述
设置我们的用户名和密码。
如果你的还需要初始密码,去执行上面我们查看jenkins密码的命令,复制下来再次登陆。
在这里插入图片描述
然后就进来了。

五、修改升级站点(按照提示找到升级站点)

系统管理======》插件管理======》高级======》升级站点
在这里插入图片描述
改为:
在这里插入图片描述
其实就是把升级站点的https改为http。

六、配置全局Maven工具

系统管理—全局工具配置:
页面下拉:
在这里插入图片描述
点击新增Maven
在这里插入图片描述
输入maven,保存。

七、新建任务

在这里插入图片描述
在这里插入图片描述
配置项目的阿里云code地址和用户名密码,不会使用阿里云CODE的可以点这里看看
项目你可以自己新建一个,但是在项目的根目录下要放入一个名为Dockerfile的文件,文件内容如下图:
在这里插入图片描述
Dockerfile内容:

# 第一行必须指定基础容器,我们是java项目,运行需要jdk支撑
FROM java:8
# 维护者信息(可选)
MAINTAINER sunluming
# 拷贝我们项目的jar包到容器中
# 第一个star.jar为我们项目打出的jar包名称
# 第二个star.jar为容器名称
ADD star.jar star.jar
# 镜像启动容器后暴露的端口
EXPOSE 8080
# 第三个参数star.jar为容器名称
ENTRYPOINT ["java","-jar","star.jar"]

在这里插入图片描述
在这里插入图片描述
构建环境配置maven命令:
在这里插入图片描述
在这里插入图片描述
maven版本选择我们再前面配置的maven全局工具,目标输入命令:

clean package

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

命令:

rm -f target/Dockerfile
cp Dockerfile target/
cd target/
docker build -t star:last .
docker rm star -f
docker run -it -d -p 10086:8080 --name=stars star:last

保存,立即构建。在这里插入图片描述
报错如上,maven打包后找不到jar包,我在新建项目的时候选择的是打jar包,不知道为什么pom文件中没有规定打包格式那行代码,如下:
在这里插入图片描述
加上看看:
在这里插入图片描述
再试试构建:
在这里插入图片描述
又报这个错误,找不到那个jar包,这次苦苦思索,发现有可能是生成的jar包名称不对,去看看:
在这里插入图片描述

还真有点扯淡,这都后半夜了,卡在这里了,唉:
在这里插入图片描述
提交代码,再看看!
在这里插入图片描述
总算是成功了!

八、提交代码,自动部署项目

修改jenkins我们新建的star任务的配置,开启轮询SCM:
在这里插入图片描述
开启阿里云code的webhooks:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
图中的链接:

http://39.**.**.167:8080/git/notifyCommit?url=https://code.aliyun.com/SunLuming/star.git

等号之前是固定写法,jenkins所在服务器的ip和端口
等号之后是我们测试项目的阿里云克隆地址
现在去本地修改测试controller返回的数据,然后提交代码:
在这里插入图片描述

刷新页面看看:
在这里插入图片描述

接口中添加的666已经放入项目中了,我们提交代码后,阿里云code的通知我们的jenkins,jenkins已经自动帮我们完成了代码部署。

到此为止,集群搭建的单机构建镜像,启动容器,自动部署代码结束了。

多练多练多练!!!

下篇文章在master节点安装k8s初始化:

docker+jenkins+k8s集群搭建系列三、master节点安装k8s并初始化

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐