架構圖:
一、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執行)