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源碼–到--編譯打包–構建鏡像–運行容器–訪問服務,全部完成

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章