docker+jenkins+k8s集群搭建系列二、docker+jenkins实现自动部署java项目(自动制作镜像、启动容器)-----单机跑通,下篇集群
上篇文章docker+jenkins+k8s集群搭建系列一、centos安装docker,制作镜像(jar包,使用Dockerfile制作镜像),启动容器中我们学习了在docker环境下使用Dockerfile文件手动给项目制作镜像,启动容器部署项目,这篇文章我们把这个流程交给jenkins,实现项目代码提交即刻自动部署。使用工具:jdk:链接:https://pan.baidu.com/s/1T
上篇文章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初始化:
更多推荐
所有评论(0)