项目部署
生成指定文件
war
- 部署为war必须的类,一般在创建项目时选war就会自动生成,选jar就要手动添加
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DemoApplication.class);
}
}
- maven:
mvn war
即可 mvn package -DskipTests - gradle:
gradle war
然后gradle bootRepackage
即可
jar
- 没有特殊的配置,打包即用
- maven:
mvn package
即可生成可执行的jar - gradle:
gradle jar
然后gradle bootRepackage
也生成可执行jar
- maven:
构建docker镜像
方便监控应用状态,cpu 内存 流量
- 先构建得到war或jar,然后根据dockerfile构建一个镜像
FROM frolvlad/alpine-oraclejdk8:slim
ADD weixin-1.0.0.war app.war
ENTRYPOINT ["java","-jar","/app.war"]
gradle结合docker
build.gradle
apply plugin: 'docker'
task buildDocker(type: Docker, dependsOn: build) {
push = true
applicationName = jar.baseName
dockerfile = file('src/main/docker/Dockerfile')
doFirst {
copy {
from war
into stageDir
}
}
}
Dockerfile
FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD weixin-1.0.0.war app.war
ENTRYPOINT ["java","-jar","/app.war"]