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 : 挂载的内容 宿主机器的文件夹:容器的文件夹
下次再继续写前端的部署