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的实现细 ...
随机推荐
- Solr 14 - SolrJ操作SolrCloud集群 (Solr的Java API)
目录 1 pom.xml文件的配置 2 SolrJ操作SolrCloud 1 pom.xml文件的配置 项目的pom.xml依赖信息请参照: Solr 09 - SolrJ操作Solr单机服务 (So ...
- 如何在Linux服务器和windows系统之间上传与下载文件
Do not let dream just be your dream. 背景:Linux服务器文件上传下载. XShell+Xftp安装包(解压即用)百度网盘链接:https://pan.baidu ...
- Java中数组的插入,删除,扩张
Java中数组是不可变的,但是可以通过本地的arraycop来进行数组的插入,删除,扩张.实际上数组是没变的,只是把原来的数组拷贝到了另一个数组,看起来像是改变了. 语法: System.arrayc ...
- CSS在IE6中常见的兼容性问题
1.在IE6中png24格式的图片不透明 解决办法:写一个条件注释语句,引入一个js插件,然后调用一下js中的方法,把需要处理的元素的类名写在括号中,如下 (插件下载地址:http://www.dil ...
- 原生js实例对象方法
Array中的方法 ☞ toString() // 把数组转换为字符串,使用逗号分隔☞ valueOf() // 返回数组对象本身 ☞ 栈方法(先进后出)ary.push() // 该方法有一个返回值 ...
- FreeNas搭建踩坑指南(二)
0x00 权限配置 FreeNas完成后配置用户组及权限,新建用户和用户组后添加Samba共享(Windows模式),无法准确控制权限,尝试在系统中修改权限提示"Operation not ...
- Skyline基本操作模式封装
skyline基本操作模式 项目中基于skyline的浏览器插件进行二次开发,基本的业务操作模式如下: 工具栏:点击工具栏某个功能,开启操作模式. onFrame:鼠标移动预选对象,在能够拾取或者选定 ...
- Easyui datagrid combobox输入框下拉(取消)选值和编辑已选值处理
datagrid combobox输入框下拉(取消)选值和编辑已选值处理 by:授客 QQ:1033553122 测试环境 jquery-easyui-1.5.3 需求场景 如下,在datagri ...
- 如何简单的构建Android?
原文链接:https://fernandocejas.com/2014/09/03/architecting-android-the-clean-way/ 过去的几个月中,在Tuenti上与同行例 ...
- ElasticSearch、Logstash、Kibana 搭建高效率日志管理系统
ELK (ElasticSearch.LogStash以及Kibana)三者组合是一个非常强大的工具,这里我们来实现监控日志文件并且收到日志到ElasticSearch搜索引擎,利用Kibana可视化 ...