前言
為了項(xiàng)目發(fā)布溪北,老項(xiàng)目原本War
直接放到服務(wù)器上Tomcat
發(fā)布肉盹。由于Docker
只有Java
鏡像改為Jar
,使用了Jenkins+SonarQube+Docker摹恰。這里描述一下流程沪么,不會具體的描述Jenkins一些配置硼婿。
一、pom文件改造
<packaging>jar</packaging>
打包方式選擇Jar
<build>
<finalName>xxx</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.xxx.main.MainApplication</mainClass>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/**</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/webapp</directory>
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/**</include>
</includes>
</resource>
</resources>
</build>
編譯配置禽车,由于老項(xiàng)目是JSP寇漫,所以需要打包webaapp
下資源文件刊殉。
<includeSystemScope>true</includeSystemScope>
如果項(xiàng)目采用了本地Jar導(dǎo)入,一定要加上這句州胳。
二记焊、Jenkins配置
1. 新建Maven項(xiàng)目
1.png
2.配置Git
2.png
3. 配置SonarQube
3.png
4.png
sonar.projectKey=xxx
sonar.sources=.
sonar.projectVersion=1.0
sonar.projectName=xxx
sonar.language=java
sonar.sourceEncoding=UTF-8
sonar.java.binaries=target/
sonar.java.binaries配置很重要。
4. 配置上傳文件及執(zhí)行Shell腳本
5.png
6.png
Source files: 需要上傳的文件 如: target/projectName.version.jar
Remove prefix: 移除的前綴 如: target
Remote directory: 上傳文件目標(biāo)的服務(wù)器目錄 如:usr/local/xxx
Exec command: 執(zhí)行shell腳本的目標(biāo) 如:/usr/local/xxx/server.sh
docker stop docker容器名稱
docker rm docker容器名稱
docker run --privileged=true --name docker容器名稱 -d -p 8013:8080 -v /usr/local/xxx/xxx.jar:/mnt/app.jar java java -jar /mnt/app.jar
三栓撞、效果
7.png
8.png
9.png
四遍膜、總結(jié)
懂的都懂,網(wǎng)上都有瓤湘。不是啥專業(yè)運(yùn)維瓢颅,只是記錄一下踩坑日記。