dubbo框架的web端(war)和server端(tar.gz)结合jenkins打包方式
一.web端程序,打包成war包
jenkins配置
1.项目名称,旧文件处理配置
2.参数构建配置
3.源码库配置
4.打包文件pom.xml配置及多环境打包传参,此处传参qa(表示打测试环境包,名称自定义)
5.maven全局配置文件路径
6.打包后执行操作
pom.xml配置
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <parent>
<groupId>com.jeck.danny</groupId>
<artifactId>danny-cloud-parent</artifactId>
<version>1.2.0-SNAPSHOT</version>
<relativePath>../danny-cloud-parent</relativePath>
</parent> <artifactId>test-web</artifactId>
<packaging>war</packaging>
<name>test-web</name>
<url>http://maven.apache.org</url> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<scm>
<connection>scm:svn:https://192.168.1.8/svn/test</connection>
<developerConnection>scm:svn:https://192.168.1.8/svn/test</developerConnection>
</scm>
<dependencies>
<dependency>
<groupId>com.jeck.danny</groupId>
<artifactId>danny-common</artifactId>
</dependency>
<dependency>
<groupId>com.jeck.danny</groupId>
<artifactId>danny-i18n</artifactId>
<version>1.2.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.jeck.danny</groupId>
<artifactId>danny-domain</artifactId>
</dependency>
<dependency>
<groupId>com.jeck.danny</groupId>
<artifactId>danny-user-sso</artifactId>
<version>1.2.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.jeck.danny</groupId>
<artifactId>danny-test-api</artifactId>
<version>1.2.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<artifactId>spring</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
</dependency>
... <dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
</dependency> ...//一大堆依赖略 </dependencies> <distributionManagement>
<repository>
<id>danny-releases</id>
<name>danny-releases</name>
<url>http://maven.danny.com.cn:8091/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>danny-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://maven.danny.com.cn:8091/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement> <build>
<finalName>test-web</finalName>
<outputDirectory>src/main/webapp/WEB-INF/classes</outputDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources> <extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>2.10</version>
</extension>
</extensions> <plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.16.v20140903</version>
<configuration>
<scanIntervalSeconds>3</scanIntervalSeconds>
<stopPort>9988</stopPort>
<stopKey>foo</stopKey>
<webApp>
<contextPath>/paicoin</contextPath>
</webApp>
<!-- 设置监听目录 -->
<connectors>
<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
<port>8080</port>
<maxIdleTime>60001</maxIdleTime>
</connector>
</connectors>
</configuration>
</plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
<configuration>
<tagBase>https://192.168.1.8/svn/test</tagBase>
</configuration>
</plugin>
</plugins>
</build> </project>
jenkins运行打包后,会在项目的target目录下生成一个war文件
二.server端程序,打包成tar.gz包
jenkins配置
前面配置和web端配置差不多
pom.xml配置
此处在pom.xml中调用了assembly.xml配置文件
先看pom.xml配置
<modelVersion>4.0.0</modelVersion> <parent>
<groupId>com.danny.test</groupId>
<artifactId>test-cloud-parent</artifactId>
<version>1.2.0-SNAPSHOT</version>
<relativePath>../test-cloud-parent</relativePath>
</parent> <artifactId>test-service</artifactId>
<packaging>jar</packaging> <name>test-service</name>
<url>http://maven.apache.org</url> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<scm>
<connection>scm:svn:https://192.168.1.8/svn/test/tags/server/打包发布/server/业务系统</connection>
</scm>
<dependencies> <dependency>
<groupId>com.danny.test</groupId>
<artifactId>test-common</artifactId>
</dependency> <dependency>
<groupId>com.danny.test</groupId>
<artifactId>test-domain</artifactId>
</dependency> <dependency>
<groupId>com.danny.test</groupId>
<artifactId>test-user-api</artifactId>
</dependency>
<dependency>
<groupId>com.danny.test</groupId>
<artifactId>test-paicoin-api</artifactId>
<version>1.2.0-SNAPSHOT</version>
</dependency>
<!-- <dependency>
<groupId>com.danny.test</groupId>
<artifactId>test-user-sso</artifactId>
<version>1.2.0-SNAPSHOT</version>
</dependency> -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
</dependency> <dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency> <dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</dependency> <dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.13</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.13</version>
</dependency> </dependencies> <build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources> <plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<!--
<includes>
<include>*.properties</include>
<include>**/*.xml</include>
</includes>
-->
<excludes>
<exclude>**/*.properties</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions> <!--执行器 mvn assembly:assembly -->
<execution>
<id>make-assembly</id><!--名字任意 -->
<phase>package</phase><!-- 绑定到package生命周期阶段上 -->
<goals>
<goal>single</goal><!-- 只运行一次 -->
</goals>
<configuration>
<finalName>${artifactId}</finalName>
<appendAssemblyId>false</appendAssemblyId>
<attach>false</attach>
<descriptors> <!--描述文件路径 -->
<descriptor>src/main/assembly/assembly.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
<configuration>
<tagBase>https://192.168.1.8/svn/test/tags/server/打包发布/server/业务系统</tagBase>
</configuration>
</plugin>
</plugins>
</build> </project>
assembly.xml文件配置
<assembly>
<id>assembly</id>
<formats>
<format>tar.gz</format>
<!-- <format>zip</format> <format>dir</format> -->
</formats>
<includeBaseDirectory>true</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>src/main/assembly/bin</directory>
<outputDirectory>bin</outputDirectory>
<fileMode>0755</fileMode>
</fileSet>
<!-- <fileSet> <directory>src/main/assembly/conf</directory> <outputDirectory>conf</outputDirectory>
<fileMode>0644</fileMode> </fileSet> -->
<fileSet>
<directory>src/main/resources/</directory>
<outputDirectory>conf</outputDirectory>
<filtered>true</filtered>
<includes>
<include>dubbo.properties</include>
<include>property.properties</include>
</includes>
</fileSet>
<!-- <fileSet> <directory>src/test/resources</directory> <outputDirectory>conf</outputDirectory>
<fileMode>0644</fileMode> </fileSet> -->
</fileSets>
<dependencySets>
<dependencySet>
<outputDirectory>lib</outputDirectory>
</dependencySet>
</dependencySets>
</assembly>
同样jenkins运行打包后,会在项目的target目录下生成一个tar.gz文件
注:
setting.xml主要用于配置maven的运行环境等一系列通用的属性,是全局级别的配置文件;而pom.xml主要描述了项目的maven坐标,依赖关系,开发者需要遵循的规则,组织和licenses,以及其他所有的项目相关因素,是项目级别的配置文件。
通常一个项目可能还包含其他的外部配置文件,或者自定义的shell脚本或者bat命令等,此时应该使用assemble命令来进行构建。assembly,即组合构建的意思,使用此插件可以整合你想要的文件到最终的tar包中。
dubbo框架的web端(war)和server端(tar.gz)结合jenkins打包方式的更多相关文章
- Tomcat 中部署 web 应用 ---- Dubbo 服务消费者 Web 应用 war 包的部署
使用Maven构建Dubbo服务的可执行jar包 Dubbo服务的运行方式: 1.使用Servlet容器运行(Tomcat.Jetty等)----不可取 缺点:增加复杂性(端口.管理) 浪费资源(内存 ...
- Tomcat中部署web应用 ---- Dubbo服务消费者Web应用war包的部署
样例视频:http://www.roncoo.com/course/view/f614343765bc4aac8597c6d8b38f06fd IP: 192.168.2.61 部署容器:apache ...
- Android实战简易教程-第六十六枪(server端搭建和server端Json数据交互)
学习Android有一段时间了.对server端有非常深的好奇,决定对server端的实现进行一些研究,这里实现了一个简单的小样例,用于获取server端的json数据,样例非常easy,适合刚開始学 ...
- 分享 koa + mysql 的开发流程,构建 node server端,一次搭建个人博客
前言 由于一直在用 vue 写业务,为了熟悉下 react 开发模式,所以选择了 react.数据库一开始用的是 mongodb,后来换成 mysql 了,一套下来感觉 mysql 也挺好上手的.re ...
- server端获得到client端的IP地址的格式
使用telnet,ping或其他client连接server端时,server端获得的client端的ip地址取决于client端使用的时ipv4还是ipv6地址. 例: client IPv4地址: ...
- Unity3d Web Player 与server端联网配置
针对Unity3d Web Player 的server端联网配置写一随笔咯. 以SmartFoxServer2X官方的Unity3d Example ”tris“为例,部署好服务器之后,在Unit ...
- Unity3d Web Player 的server端联网配置
新游戏出了第一个能跑完流程的版本,不得不佩服Unity3D强大的功力,PC.MAC OS.Linux.IOS.Android.web player,前天刚发布的unity3d 4.2版本还支持WIND ...
- 由WSDL文件生成WEB service server端C#程序(转)
一般一个已经实现功能的WEB Server会发布自己的WSDL文件,供客户端生成代理类. 但有时是先有的server与client交互的接口定义(WSDL)文件,然后由server和client端分别 ...
- RocketMq(三):server端处理框架及消费数据查找实现
rocketmq作为一个高性能的消息中间件,咱们光停留在使用层面,总感觉缺点什么.虽然rocketmq的官方设计文档讲得还是比较详细的,但纸上得来终觉浅!今天我们就来亲自挖一挖rocketmq的实现细 ...
随机推荐
- MS SQL 锁与事务
加锁的主要目的是为了防止并发操作时导致的数据不一致等问题,锁分为共享锁(S).更新锁(U).排他锁(X),共享锁与更新只是单向兼容?传说中的单相思? 事务 事务能保证数据操作的原子性,要么内部操作都提 ...
- vue-cli项目使用mock数据的方法(借助express)
前言 现如今前后端分离开发越来越普遍,前端人员写好页面后可以自己模拟一些数据进行代码测试,这样就不必等后端接口,提高了我们开发效率.今天就来分析下前端常用的mock数据的方式是如何实现的. 主体 项目 ...
- 内核mailbox
只罗列增加取走消息: static int add_to_rbuf(struct mbox_chan *chan, void *mssg) { int idx; unsigned long flags ...
- 微信公众号开发C#系列-8、自定义菜单及菜单响应事件的处理
1.概述 自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能.菜单分为默认菜单与个性化菜单.个性化菜单接口是为了帮助公众号实现灵活的业务运营,开发者可以通过该接口,让公众号的不同用户群 ...
- Python编程从入门到实践笔记——列表简介
Python编程从入门到实践笔记——列表简介 #coding=utf-8 #列表——我的理解等于C语言和Java中的数组 bicycles = ["trek","cann ...
- windows环境设置mysql自动备份(测试成功)
00.背景介绍 最近做了个小程序,使用的是mysql数据库,涉及到将程序数据备份的事:虽然大部分数据库客户端工具都具有备份功能,但并不能做到定期自动备份:在Windows环境下,手工备份MySQL是很 ...
- tomcat 控制台中文乱码问题
1.找到${CATALINA_HOME}/conf/logging.properties2.添加语句:java.util.logging.ConsoleHandler.encoding = GBK 3 ...
- Java 初始化a=2 打印a+++a++为5
这段程序大概这样: public static void main(String[] args){ int a = 2; System.out.println(a+++a++); } 编译后的字节码为 ...
- 用app.net Core搞掂多国语言网站
Asp.net Core 中文文档很少,你可以看英文的,不过英文的也是说的有点乱.这篇文章是干货. 1. 配置好你的WebApplication,使他可以支持国际化语言,修改文档Startup.cs ...
- umijs开发实践-不同页面交叉使用dva中的modal文件导致的错误
最近在使用umijs进行H5开发工作,在开发的过程中踩了一些坑,在这里记录一下. 1:按需加载在现在是很常见的优化方式了,我在.umirc.js中开启dynamicImport后,运行umi buil ...