架构图:
在这里插入图片描述

一、Jenkins部署安装

1、部署java环境

tar xvzf jdk-8u144-linux-x64.tar.gz -C /usr/local/
cd /usr/local/
mv jdk1.8.0_144 jdk
echo 'JAVA_HOME=/usr/local/jdk' >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
source /etc/profile
java -version

2.部署maven

cd /usr/local
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz	
tar xf apache-maven-3.6.2-bin.tar.gz 
rm -rf apache-maven-3.6.2-bin.tar.gz 
mv apache-maven-3.6.2/  maven
配置环境变量
vim /etc/profile
export M2_HOME=/usr/local/maven
export PATH=$PATH:$M2_HOME/bin:$JAVA_HOME/bin
source /etc/profile
mvn -version

3.部署tomcat (省略)

4.部署jenkins

(1).清华大学开源镜像站
从此处下载最新版jenkins war包,会比国外快很多,传到tomcat webapps目录下,启动tomcat,使用浏览器访问http://ip:8080/jenkins
(2).接下来就是傻瓜式前台安装,安装完成后登录进入jenkins
在这里插入图片描述
(3).安装插件–管理插件
GIT plugin (可能已经默认安装了)
Publish Over SSH (远程Shell)
Maven Integration plugin
Deploy to container
在这里插入图片描述
在这里插入图片描述
(4) 全局工具配置
在这里插入图片描述
(5)系统配置
在这里插入图片描述
ssh配置:

jenkins服务器准备秘钥认证
ssh-keygen 
ssh-copy-id -i 192.168.0.148   (注意这里的192.168.0.148是一台网站服务器。什么都不用安装,接到代码即可。)
ssh 192.168.0.148 登录不需要密码即为成功

复制jenkins服务器的私钥到下图
[root@localhost ~]# cat ~/.ssh/id_rsa

在这里插入图片描述
完成ssh信息配置

(6).接下来就可以愉快的构建项目了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

点击立即构建,若构建成功,则可以在输出台看到这些信息
在这里插入图片描述

五、部署项目

自己制作的jdk镜像,已经传到私有仓库
在这里插入图片描述
dockerfile的编写

[root@newquizii unit_paper]# ls
Dockerfile  start.sh  unit_paper-0.0.1-SNAPSHOT.jar
[root@newquizii unit_paper]# more Dockerfile 
FROM   mtjdk:v1
MAINTAINER JN

COPY unit_paper-0.0.1-SNAPSHOT.jar unit_paper-0.0.1-SNAPSHOT.jar
ENTRYPOINT /opt/jdk18/bin/java -Duser.timezone=GMT+8  -Xms1024m -Xmx1024m -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/${HOSTNAME}.hpr
of -jar unit_paper-0.0.1-SNAPSHOT.jar
EXPOSE 10005

[root@newquizii unit_paper]# cat start.sh  (停止容器-删除容器-删除镜像-使用新的jar包构建镜像-运行容器暴露端口)
docker stop $1
docker rm $1
docker rmi $1
docker build -t $1 .
docker run -itd --name $1 -p $2:10005 $1
docker logs -f $1

[root@newquizii unit_paper]# sh start.sh unit_paper 10005   (写成脚本直接让jenkins执行)

至此,从svn源码–到--编译打包–构建镜像–运行容器–访问服务,全部完成

Logo

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

更多推荐