Jenkins+svn+dockerhub+k8s实现CI/CD
架构图:
·
架构图:
一、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源码–到--编译打包–构建镜像–运行容器–访问服务,全部完成
更多推荐
已为社区贡献7条内容
所有评论(0)