Jenkins部署SpringBoot項目
前期工作
是一個SpringBoot後端結合Vue前端的項目
後端的部署
pom.xml文件中要引入插件
<build>
<finalName>chatmovie</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<!-- 這個地方一定要跟上自己私有倉庫的地址,在 “/”前面 -->
<imageName><!-- 私有倉庫地址 -->/${project.artifactId}:${project.version}</imageName>
<!-- 指定了Dockfile的目錄,所以需要在項目的src/main下創建一個docker目錄,並在其目錄中配置Dockerfile文件 -->
<baseImage>jdk1.8</baseImage>
<entryPoint>["java", "-jar","/${project.build.finalName}.jar"]</entryPoint>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
<dockerHost><!-- ip 地址 -->:2375</dockerHost>
</configuration>
</plugin>
</plugins>
</build>
部署springBoot後端
1.服務器安裝Jenkins
初始化完畢後安裝必備插件
系統管理——插件管理——可選插件
安裝Git 和 Maven Integration
2.在要部署項目的服務器上安裝JDK,Maven及Git
查看已經安裝的JDK,maven或git
使用命令
which java
安裝JDK
查看可安裝JDK版本
yum search java | grep -i --color JDK
※ 使用指令列出所有可安裝版本號,並選中想要安裝版本號,執行後續步驟。
安裝指定版本JDK
yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
注意:這裏必須同時安裝這兩個,只安裝前一個只是安裝了運行環境
安裝完畢查看是否成功
java -version
配置環境變量
vim /etc/profile
在profile末尾追加環境變量JAVA_HOME、CLASSPATH、PATH
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
使配置生效:source /etc/profile
source /etc/profile
查看javac命令是否可用,也可以編譯一個java文件試一下
javac
安裝Maven,Git都一樣
3.配置Jenkins
系統管理——全局工具配置
配置 JDK Git 和maven
4.開始構建
點擊確定,開始構建的相關配置
輸入git倉庫的地址
在credentials中輸入git倉庫 的用戶名和密碼
在build中選擇 pom文件,
由於這裏採用docker進行部署,下面寫上
clean package docker:build -DpushImage
如果不用docker部署,直接寫上clean install
但之後無法啓動SpringBoot內嵌的tomcat,還需要在插件中安裝tomcat,並添加到工具中,這裏不再贅述
執行shell里加上
可以構建了!
部署前端VUE
插件中安裝NodeJS
配置工具中添加:
docker run --name=nginx -d -p 80:80 --net host -v /data/nginx/html:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /data/nginx/logs:/var/log/nginx nginx
run:啓動一個docker容器
name:容器的名稱
d: 後臺啓動
p: 綁定別的端口 -p a:b 將宿主機器的a端口綁定到容器的b端口 -P 爲隨機綁定到端口
net :綁定的網絡 這裏配置成host(因爲對於容器內部來說也有一個ip如果不配置的話默認用容器的ip,導致訪問不到)
v : 掛載的內容 宿主機器的文件夾:容器的文件夾
下次再繼續寫前端的部署