持续集成环境就是我们开发的时候,有一套环境自动编译、打包、测试、部署、发布的环境。

  1. 构建工具使用maven,在pom.xml中需要配置一个profile,内容如下:

<profiles>

<profile>

<id>deploytoweblogic</id>

<dependencies>

<dependency>

<groupId>xml-apis</groupId>

<artifactId>xml-apis</artifactId>

<version>1.0.b2</version>

<scope>provided</scope>

</dependency>

</dependencies>

<build>

<plugins>

<plugin>

<artifactId>maven-resources-plugin</artifactId>

<version>2.5</version>

<executions>

<execution>

<id>copy-resources</id>

<!-- here the phase you need -->

<phase>prepare-package</phase>

<goals>

<goal>copy-resources</goal>

</goals>

<configuration>

<outputDirectory>${basedir}/target/classes</outputDirectory>

<resources>

<resource>

<directory>src/main/resources/weblogic</directory>

<filtering>true</filtering>

</resource>

</resources>

</configuration>

</execution>

</executions>

</plugin>

<plugin>

                     <groupId>com.oracle.weblogic</groupId>

                     <artifactId>weblogic-maven-plugin</artifactId>

                     <version>10.3.4</version>

                     <configuration>

                         <adminurl>10.67.1.1:8080/webmis</adminurl>

                         <user>admin</user>

                         <password>admin123</password>

                         <upload>true</upload>

                         <action>redeploy</action>

                         <remote>false</remote>

                         <verbose>true</verbose>

                         <source>${project.build.directory}/${project.build.finalName}.${project.packaging}</source>

                         <name>ctrading2</name>

                         <delete_files>true</delete_files>

                     </configuration>

                     <executions>

                         <execution>

                            <id>DeployToRemoteContainer</id>

                            <phase>install</phase>

                            <goals>

                                <goal>redeploy</goal>

                             </goals>

                         </execution>

                     </executions>

                  </plugin>

</plugins>

</build>

</profile>

</profiles>

需要注意三个地方,
(1)红色配置部分是增加一个依赖,防止与weblogic的jar冲突。如果没有,会报异常java.lang.ClassCastException: weblogic.xml.jaxp.RegistryDocumentBuilderFactory cannot be cast to javax.xml.parsers.DocumentBuilderFactory

(2)灰色部分是hudson用来发送到weblogic需要执行的插件,执行阶段是install。

(3)中间蓝色部分是在安装时覆盖资源用的。因为开发环境和部署环境使用的数据源是不一样的,所以在发布时需要使用非开发的数据源。部署环境数据源文件如下:

<?xml version="1.0" encoding="GBK"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.org/schema/beans

       http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

<!-- dataSource -->

<!-- WebLogic JNDI -->

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">

<property name="jndiName" value="wls_ots_ds" />

</bean>

<!-- Query Data Source -->

<!-- WebLogic JNDI -->

<bean id="dataQuerySource" class="org.springframework.jndi.JndiObjectFactoryBean">

<property name="jndiName" value="wls_ots_query_ds" />

</bean>

</beans>

这样客户端maven的工作就完成了,开发时和平常没有任何区别。

下面介绍hudson配置。

在hudson上添加项目就不说了,只说几个在配置时需要注意的点:

  1. source code managemante节点选择subversion,填写项目的svn地址。
  2. build trigger时选择第三项,在schedule中填入周期,如“0 2 * * *”表示每天2点执行构建。
  3. build节点的Goals and options填入clean install -DskipTests=true –Pdeploytoweblogic 表示使用maven进行构建,忽略测试,使用deploytoweblogic执行部署。
  4. 在build节点点击advanced,在MAVEN_OPTS输入-Xms512m -Xmx2048m -XX:MaxPermSize=512m。这是因为hudson使用maven构建会占用大量内存,可能会造成内存不足。

剩下的就是weblogic的配置了,那就很简单了,指定数据源即可。

转载于:https://www.cnblogs.com/meiyuanbao/archive/2012/03/31/2426629.html

maven+svn+hudson+weblogic构建持续集成环境相关推荐

  1. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境

    前言 但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A和B都习 ...

  2. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)

    前言 但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A和B都习 ...

  3. GitLab与Jenkin 结合构建持续集成环境

    目录 1.持续集成概述运行及流程 1.1 CI/CD 介绍 1.2流程 1.3 Jenkins 概述 1.4 GitLab 概述 1.5 项目部署方式 1.6集群和分布式 1.7持续集成系统的工作流程 ...

  4. GitLab 与 Jenkins 结合构建持续集成环境

    持续集成概述及运行流程 CI/CD介绍 把开发工作流程分为以下几个阶段: 编码 → 构建 → 集成 → 测试 → 交付 → 部署 正如你在上图中看到,持续集成(Continuous Integrati ...

  5. 基于Docker容器的,Jenkins、GitLab构建持续集成CI

    ** 开发者将代码提交(push)到GitLab后,GitLab通过Hook通知jenkins,jenkins自动从GitLab中获取项目最新的源码进行集成和发布. 基于Docker,创建一个私有Gi ...

  6. 基于 Jenkins 快速搭建持续集成环境--转

    源地址:http://www.ibm.com/developerworks/cn/java/j-lo-jenkins/ 持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础 ...

  7. 基于 Jenkins 快速搭建持续集成环境

    持续集成概述 什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软件工程领域 ...

  8. 基于Jenkins 快速搭建持续集成环境

    2019独角兽企业重金招聘Python工程师标准>>> 持续集成概述 什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开 ...

  9. linux hudson svn,Hudson Maven SVN快速搭建持续集成环境

    Maven 跨平台的项目管理工具 Apache组织中颇为成功的开源项目 服务于Java平台的项目构建,依赖管理和项目信息管理 持续集成 快速 高频率 自动 构建 所有源码 反馈 目前最流行的开源持续集 ...

最新文章

  1. 零基础入门学习Python(5)Python的数据类型
  2. 掌握Python 机器学习 读书笔记 9 (流水线 算法保存)
  3. Android端调用Caffe模型实现CNN分类
  4. Android4.0 修改系统屏幕分辨率方法
  5. [C++基金会]位计算 游戏开发中的应用
  6. 脑部手术成功,只是万里长征走完了第一步
  7. LeetCode—213. 打家劫舍 II
  8. Git的使用(推荐命令行模式)
  9. Spring Boot中登录错误消息的显示
  10. MUI 图标显示不出来 - 分析篇
  11. IDEA如何删除无用war包
  12. docker中使用的镜像加速器可以自己生成
  13. 完成端口中的单句柄数据结构与单IO数据结构的理解与设计
  14. IDEA+MAVEN+testNG(reportNG)
  15. 【图像处理】基于matlab GUI美颜系统【含Matlab源码 809期】
  16. matlab聚类分析_数据挖掘——聚类分析
  17. EXCEL 学习步骤总结
  18. 深度强化学习算法 A3C (Actor-Critic Algorithm)
  19. Mac版哔哩哔哩视频下载工具
  20. 【CTF】明御攻防实验室misc ningen

热门文章

  1. python爬取小说内容_使用python爬取小说全部内容
  2. android 蓝牙设置平板电脑,java – BlueCove,笔记本电脑和带蓝牙的Android平板电脑
  3. oracle父游标和子游标,诊断Oracle high version count(高版本游标)问题
  4. kettle mysql 参数_kettle参数、变量详细讲解
  5. 算法导论-算法基础-2.1插入排序 (从小到大)
  6. C#学生信息管理系统
  7. VUE data传值
  8. c语言中的jsonpath的处理
  9. Hive----------Cannot find hadoop installation: $HADOOP_HOME m...
  10. 聊聊高并发(二十五)解析java.util.concurrent各个组件(七) 理解Semaphore