2014-10-10 154 views
3

我們正在開發具有多個使用eclipse的組件的產品,這些組件是通過Local Git Repository導入到eclipse中的,並且我們使用ant腳本build.xml(它調用ant命令的每個組件build.xml)生成EAR文件,並且在1000行螞蟻腳本EAR正在創建。
但我在一個組件工作,但java文件的每個編輯後如何使用weblogic 12c快速部署多模塊EAR項目?

  1. 需要停止WebLogic服務器(不更多的時間)

  2. 需要到存儲庫文件夾

  3. 需要在build.xml上運行ant命令,該命令位於頂層存儲庫 文件夾中(15mins)

  4. 需要啓動webLogic Server(8 ++ min)

這裏EAR文件的位置是固定的,我們每次運行都因爲上述很多我的工作不是moving.Is有什麼辦法每個編輯後做立即部署螞蟻時間?

嗨,我們已經與重新部署*的.ear而是通過Ant腳本它走14分鐘,我的意思是運行Ant腳本比手動重新部署在這裏比較慢的 是否有任何替代做重新部署更快ant腳本來了?

<project name="webservices-hello_world" default="deploy"> 
<property name="wls.username" value="weblogic" /> 
<property name="wls.password" value="Prima123Vera" /> 
<property name="wls.hostname" value="localhost" /> 
<property name="wls.port" value="7001" /> 
<property name="admin.server.name" value="AdminServer" /> 
<!-- <property name="deploy.target" value="ClusterNameABC" /> --> 
<property name="deploy.target" value="AdminServer" /> 
<!-- Here you can specify Either ClusterName, IndividualServerName Like "ManagedOne" or comma Seperated List of Managed/AdminServer --> 
<property name="deploy.name" value="primavera" /> 
<property name="deploy.source" value="D:/work/rm/pgbu_platform-2.0/snapshots/primavera.ear" /> 

<!-- Setting TaskDefinition --> 
<taskdef name="wldeploy" classname="weblogic.ant.taskdefs.management.WLDeploy"> 
<classpath> 
<pathelement location="C:/Oracle/Middleware/Oracle_Home/wlserver/server/lib/weblogic.jar"/> 
</classpath> 
</taskdef> 

<!-- Deploying Applications --> 
<target name="deploy"> 
<wldeploy action="deploy" 
      name="${deploy.name}" 
      source="${deploy.source}" 
      user="${wls.username}" 
      nostage="true" 
      password="${wls.password}" 
      verbose="true" 
      adminurl="t3://${wls.hostname}:${wls.port}" targets="${deploy.target}" /> 
</target> 

<!-- Redeploying Applications --> 
<target name="redeploy"> 
<wldeploy action="redeploy" 
      name="${deploy.name}" 
      user="${wls.username}" 
      password="${wls.password}" 
      verbose="true" 
      adminurl="t3://${wls.hostname}:${wls.port}" targets="${deploy.target}" /> 
</target> 

<!-- Uneploying Applications --> 
<target name="undeploy"> 
<wldeploy action="undeploy" 
      name="${deploy.name}" 
      failonerror="false" 
      user="${wls.username}" 
      password="${wls.password}" 
      verbose="true" 
      adminurl="t3://${wls.hostname}:${wls.port}" targets="${deploy.target}" /> 
</target> 
</project> 
+0

您是否考慮過使用JRebel? – Serendipity 2014-10-14 10:42:18

+0

@Serendipity Jrebel?....你可以暗示我如何使用... – 2014-10-15 05:35:46

回答

4

您可以使用Auto-Deployment,或者更具體地說,Auto-Deployment of exploded archives

的基本程序是:

  1. 解壓(爆炸)應用耳到自動部署目錄
  2. 創建REDEPLOY文件
  3. 工作在你的代碼
  4. 重建的具體罐子您修改了
  5. 覆蓋自動部署目錄中的舊jar
  6. 更改REDEPL的時間戳OY文件(例如,通過重新創建它)。 此時,weblogic將重新部署您的應用程序。
  7. 轉到3.

您也可以調查取消部署和部署ant tasks,如果你不能得到自動部署的工作,這些將節省您的調動過程中一些努力。

爲了減少構建時間,您將必須調查incremental builds

+0

將做那個實驗 – 2014-10-17 05:21:11

+0

嗨,感謝我關注這個,但你能告訴如何創建REDEPLOY文件? – 2014-10-29 10:14:04

+0

從文檔看來,REDEPLOY文件只是一個空文件,所以在UNIX上,您可以「觸摸R​​EDEPLOY」並在窗口上保存記事本中的空文件。 – 2014-10-30 07:33:22