----------------------------------------------------------------------------------------------------------------
springboot 详解 (一) helloworld 下载demo
springboot 详解 (四)redis & filter 下载demo
springboot 详解 (五)interceptor 下载demo
springboot 详解 (六)servlet & scheduled & listener 下载demo
springboot 详解(七) dubbox & zookeeper 下载(productor) 下载(constumser)
springboot 详解(八) springboot & springcloud
----------------------------------------------------------------------------------------------------------------
springboot docker jenkins 部署
1.pom 文件
<?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <groupId>com.curiousby.baoyou.cn</groupId> <artifactId>showandshare.docker.jenkinsdockerdemo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>showandshare.docker.jenkinsdockerdemo</name> <url>http://maven.apache.org</url> <packaging>jar</packaging> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.5.RELEASE</version> <relativePath>../pom.xml</relativePath> <!-- lookup parent from repository --> </parent> <repositories> <repository> <id>spring-snapshots</id> <url>http://repo.spring.io/libs-snapshot</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>spring-snapshots</id> <url>http://repo.spring.io/libs-snapshot</url> </pluginRepository> </pluginRepositories> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.8</version> </dependency> </dependencies> <build> <finalName>showandshare.docker.jenkinsdockerdemo</finalName> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*</include> </includes> <filtering>false</filtering> </resource> </resources> <plugins> <plugin> <!-- 忽略测试失败或者跳过测试继续打包或安装 --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.10</version> <configuration> <skip>true</skip> <!-- <testFailureIgnore>true</testFailureIgnore> --> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> <compilerArguments> <verbose /> <bootclasspath>${java.home}/lib/rt.jar</bootclasspath> </compilerArguments> </configuration> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!-- Docker maven plugin --> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <configuration> <!-- <imageName>${docker.image.prefix}/${project.artifactId}</imageName> --> <imageName>curiousby/showandshare.docker.jenkinsdockerdemo</imageName> <dockerDirectory>src/main/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> <!-- Docker maven plugin --> </plugins> </build> </project>
2.dockerfile
############################################ # version: # desc : 当前版本安装的 ############################################ # 设置继承自我们创建的 tools 镜像 FROM dquintela/openjdk-8-jdk-alpine VOLUME /tmp ADD showandshare.docker.jenkinsdockerdemo.jar app.jar ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -jar /app.jar
3.svn 配置
4.bulid
MAVEN_OPTS 设置 -Xms128m -Xmx512m
执行mvn 命令 clean package docker:build
5.发布脚本
echo "======================================" echo `date ` -- start start docker docker_container_name="curiousby/showandshare.docker.jenkinsdockerdemo" docker_container_pid=`docker ps | grep $docker_container_name | awk '{print $1}'` if [ "" = "$docker_container_pid" ] ; then echo " docker_container isn't running." else docker stop $docker_container_pid echo " docker_container(pid:$docker_container_pid) be killed. sleep 5s" sleep 5 fi docker run -p 7071:7071 -d $docker_container_name echo `date ` -- end start docker echo "======================================"
6.构建输出日志
Started by user baoyou Building in workspace /root/.jenkins/workspace/showandshare.docker.jenkinsdockerdemo Updating svn://192.168.206.235/showandshare.docker.jenkinsdockerdemo at revision '2018-06-26T03:44:07.235 -0700' --quiet Using sole credentials baoyou/****** in realm ‘<svn://192.168.206.235:3690> /data/svn/repo’ At revision 17 No changes for svn://192.168.206.235/showandshare.docker.jenkinsdockerdemo since the previous build Parsing POMs Established TCP socket on 44875 [showandshare.docker.jenkinsdockerdemo] $ /home/baoyou/soft/jdk1.8.0_151/bin/java -Xms128m -Xmx512m -cp /root/.jenkins/plugins/maven-plugin/WEB-INF/lib/maven35-agent-1.12-alpha-1.jar:/home/baoyou/soft/apache-maven-3.5.4/boot/plexus-classworlds-2.5.2.jar:/home/baoyou/soft/apache-maven-3.5.4/conf/logging jenkins.maven3.agent.Maven35Main /home/baoyou/soft/apache-maven-3.5.4 /home/baoyou/soft/apache-tomcat-8.0.47/webapps/jenkins/WEB-INF/lib/remoting-3.20.jar /root/.jenkins/plugins/maven-plugin/WEB-INF/lib/maven35-interceptor-1.12-alpha-1.jar /root/.jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-commons-1.12-alpha-1.jar 44875 <===[JENKINS REMOTING CAPACITY]===>channel started Executing Maven: -B -f /root/.jenkins/workspace/showandshare.docker.jenkinsdockerdemo/pom.xml clean package docker:build [INFO] Scanning for projects... [INFO] [INFO] ---< com.curiousby.baoyou.cn:showandshare.docker.jenkinsdockerdemo >---- [INFO] Building showandshare.docker.jenkinsdockerdemo 0.0.1-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ showandshare.docker.jenkinsdockerdemo --- [INFO] Deleting /root/.jenkins/workspace/showandshare.docker.jenkinsdockerdemo/target [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ showandshare.docker.jenkinsdockerdemo --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 0 resource [INFO] Copying 6 resources [INFO] [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ showandshare.docker.jenkinsdockerdemo --- [INFO] Compiling 2 source files to /root/.jenkins/workspace/showandshare.docker.jenkinsdockerdemo/target/classes [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ showandshare.docker.jenkinsdockerdemo --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory /root/.jenkins/workspace/showandshare.docker.jenkinsdockerdemo/src/test/resources [INFO] [INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ showandshare.docker.jenkinsdockerdemo --- [INFO] Nothing to compile - all classes are up to date [INFO] [INFO] --- maven-surefire-plugin:2.10:test (default-test) @ showandshare.docker.jenkinsdockerdemo --- [INFO] Tests are skipped. [WARNING] Attempt to (de-)serialize anonymous class hudson.maven.reporters.BuildInfoRecorder$1; see: https://jenkins.io/redirect/serialization-of-anonymous-classes/ [INFO] [INFO] --- maven-jar-plugin:2.5:jar (default-jar) @ showandshare.docker.jenkinsdockerdemo --- [INFO] Building jar: /root/.jenkins/workspace/showandshare.docker.jenkinsdockerdemo/target/showandshare.docker.jenkinsdockerdemo.jar [INFO] [INFO] --- spring-boot-maven-plugin:1.3.5.RELEASE:repackage (default) @ showandshare.docker.jenkinsdockerdemo --- [INFO] [INFO] --- docker-maven-plugin:1.0.0:build (default-cli) @ showandshare.docker.jenkinsdockerdemo --- [INFO] Using authentication suppliers: [ConfigFileRegistryAuthSupplier] [INFO] Copying /root/.jenkins/workspace/showandshare.docker.jenkinsdockerdemo/target/showandshare.docker.jenkinsdockerdemo.jar -> /root/.jenkins/workspace/showandshare.docker.jenkinsdockerdemo/target/docker/showandshare.docker.jenkinsdockerdemo.jar [INFO] Copying src/main/docker/.svn/text-base/Dockerfile.svn-base -> /root/.jenkins/workspace/showandshare.docker.jenkinsdockerdemo/target/docker/.svn/text-base/Dockerfile.svn-base [INFO] Copying src/main/docker/.svn/format -> /root/.jenkins/workspace/showandshare.docker.jenkinsdockerdemo/target/docker/.svn/format [INFO] Copying src/main/docker/.svn/entries -> /root/.jenkins/workspace/showandshare.docker.jenkinsdockerdemo/target/docker/.svn/entries [INFO] Copying src/main/docker/Dockerfile -> /root/.jenkins/workspace/showandshare.docker.jenkinsdockerdemo/target/docker/Dockerfile [INFO] Building image curiousby/showandshare.docker.jenkinsdockerdemo Step 1/4 : FROM dquintela/openjdk-8-jdk-alpine ---> 419025210ef0 Step 2/4 : VOLUME /tmp ---> Using cache ---> 14f67319ff67 Step 3/4 : ADD showandshare.docker.jenkinsdockerdemo.jar app.jar ---> cc9ce84e0337 Step 4/4 : ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -jar /app.jar ---> Running in dfc3cb3f8494 ---> a0b7f7d8132e Removing intermediate container dfc3cb3f8494 ProgressMessage{id=null, status=null, stream=null, error=null, progress=null, progressDetail=null} Successfully built a0b7f7d8132e Successfully tagged curiousby/showandshare.docker.jenkinsdockerdemo:latest [INFO] Built curiousby/showandshare.docker.jenkinsdockerdemo [WARNING] Attempt to (de-)serialize anonymous class hudson.maven.reporters.MavenArtifactArchiver$2; see: https://jenkins.io/redirect/serialization-of-anonymous-classes/ [WARNING] Attempt to (de-)serialize anonymous class hudson.maven.reporters.MavenFingerprinter$1; see: https://jenkins.io/redirect/serialization-of-anonymous-classes/ [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 01:06 min [INFO] Finished at: 2018-06-26T03:45:23-07:00 [INFO] ------------------------------------------------------------------------ Waiting for Jenkins to finish collecting data [JENKINS] Archiving /root/.jenkins/workspace/showandshare.docker.jenkinsdockerdemo/pom.xml to com.curiousby.baoyou.cn/showandshare.docker.jenkinsdockerdemo/0.0.1-SNAPSHOT/showandshare.docker.jenkinsdockerdemo-0.0.1-SNAPSHOT.pom [JENKINS] Archiving /root/.jenkins/workspace/showandshare.docker.jenkinsdockerdemo/target/showandshare.docker.jenkinsdockerdemo.jar to com.curiousby.baoyou.cn/showandshare.docker.jenkinsdockerdemo/0.0.1-SNAPSHOT/showandshare.docker.jenkinsdockerdemo-0.0.1-SNAPSHOT.jar channel stopped [showandshare.docker.jenkinsdockerdemo] $ /bin/sh -xe /home/baoyou/soft/apache-tomcat-8.0.47/temp/jenkins5841437373663528941.sh + echo ====================================== ====================================== ++ date + echo Tue Jun 26 03:45:25 PDT 2018 -- start start docker Tue Jun 26 03:45:25 PDT 2018 -- start start docker + docker_container_name=curiousby/showandshare.docker.jenkinsdockerdemo ++ docker ps ++ grep curiousby/showandshare.docker.jenkinsdockerdemo ++ awk '{print $1}' + docker_container_pid= + '[' '' = '' ']' + echo ' docker_container isn'\''t running.' docker_container isn't running. + docker run -p 7071:7071 -d curiousby/showandshare.docker.jenkinsdockerdemo 8690971a19f90dbdd49df757483c76462e3d360e2d2736eac87ce199fadb5d40 ++ date + echo Tue Jun 26 03:45:29 PDT 2018 -- end start docker Tue Jun 26 03:45:29 PDT 2018 -- end start docker + echo ====================================== ====================================== Finished: SUCCESS
7.访问
对比 tomcat 部署方式,添加
修改pom 中<packaging>
jar 为 war
生成war 包
重新访问
捐助开发者
在兴趣的驱动下,写一个免费
的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(支持支付宝和微信 以及扣扣群),没钱捧个人场,谢谢各位。
个人主页:http://knight-black-bob.iteye.com/
谢谢您的赞助,我会做的更好!
相关推荐
基于Jenkins+Gitlab+Docker实现SpringBoot项目自动部署
项目基本结构是SpringBoot,集成了docker-maven插件实现build完的镜像上传到私服,然后用 Jenkins构建实现docker集群一键自动化部署
主要介绍了springboot docker jenkins 自动化部署并上传镜像的相关资料,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
docker+jenkins+tomcat+mysql+redis+nginx,实现jenkins自动构建部署。Java+maven是单独搭建的。
Docker容器部署tomcat出现中文乱码.docx
安装maven环境,通过docker命令打包镜像,然后编写docker-compose编排文件,部署springboot工程
一个简答的demo,阐述如何在Docker上部署SpringBoot项目
docker安装jenkins部署并且自动化打包部署java服务
Docker+Jenkins+GitLab+Maven+SpringBoot&SpringCloud;自动化构建
spring boot2.0集成docker插件,使用socket链接,dockerfile部署到docker服务器
1、该文档介绍springboot项目docker打包具体步骤及项目相关配置,包含手动执行docker打包上传镜像和通过idea工具打包上传镜像。 2、介绍docker打包相关配置及注意事项 3、介绍springboot打包镜像上传nexus私有镜像...
在容器docker中部署tomcat,以及遇到的一些问题记录
Docker结合Jenkins部署vue项目 接上篇 Vue项目没什么好说的,在本地一般使用vue ui启动vue管理的前端,然后在里面进行启动 Vue官方说可以不通过ngin来部署,但是如果上生产环境,建议还是要走nginx 安装nginx 这里...
PaddleOCR Docker 服务化 部署过程
本文介绍VMware虚拟机下centos7操作系统中如何安装云原生 Kubernetes(k8s)集群、k8s可视化界面kuboard,以及如何利用docker容器化将springboot+vue项目在k8s集群中部署运行。
基于springboot和docker部署的微服务架构.zip j360系列之spring-boot微服务架构和docker部署 ##介绍## j360-order底层服务提供接口 使用restAPI提供服务 j360-deliver提供UI操作界面,调用底层j360-order提供服务 ...
前后端项目和配置文件
实现动态/静态(资源请求)分离和负载均衡打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
Docker-Compose部署nginx代理Tomcat集群,实现负载均衡!
主要介绍了springboot整合docker部署实现两种构建Docker镜像方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧