Reputation: 15917
I have two computers , I don't want to install weblogic and oracle in my development computer, they consume too much memory, the problem is how can I deploy my application on development computer to another free computer which has oracle and weblogic installed ? I am using weblogic 10.3.
Upvotes: 9
Views: 15651
Reputation: 11376
You can deploy WebLogic Application using REST Interface (I am not sure, if it is available for all the WLS versions).
REST interface must be enabled over Admin Console (server restart needed):
Settings / Configuration / General [Advanced] / Enable RESTful Management Services
It is actually a JSON based REST interface, but if you need to upload something, multipart/form-data
is used instead.
It works like this (tested on WLS v12.2.1.4):
curl -X POST 'http://<server>:7001/management/weblogic/latest/edit/appDeployments'
-u <username>:<password>
--header 'Content-Type: multipart/form-data'
--header 'X-Requested-By: <any_string>'
--form 'sourcePath=@<local_path_to_war_file>'
--form 'model={"name": "<application_name>"}'
--form 'planPath=@<local_path_to_plan_xml_file>'
Don't forget X-Requested-By. WebLogic requires as CSRF protection.
API Documentation for WLS version 14 https://docs.oracle.com/en/middleware/standalone/weblogic-server/14.1.1.0/wlrer/index.html
API Documentation for WLS version 12: https://docs.oracle.com/en/middleware/fusion-middleware/weblogic-server/12.2.1.4/wlrem/index.html
Upvotes: 0
Reputation: 3933
Wldeploy works like a charm. The configuration looks like this.
<target name="deploy">
<wl.deploy.app archivepath="${ear.path}" name="${ear.deployment.name}"
wladminuser="${weblogic.admin.user}" wlserverhost="${weblogic.server.host}"
wlserverport="${weblogic.server.port}" wlservername="${test.server.name}"
wladminpassword="${weblogic.admin.password}"/>
</target>
<macrodef name="wl.deploy.app">
<attribute name="archivepath"/>
<attribute name="name"/>
<attribute name="wladminuser"/>
<attribute name="wladminpassword"/>
<attribute name="wlserverhost"/>
<attribute name="wlserverport"/>
<attribute name="wlservername"/>
<attribute name="sharedlibrary" default="false"/>
<sequential>
<wldeploy action="deploy" verbose="true" debug="true"
name="@{name}"
library="@{sharedlibrary}"
remote="true"
upload="true"
source="@{archivepath}"
user="@{wladminuser}" password="@{wladminpassword}"
adminurl="t3://@{wlserverhost}:@{wlserverport}"
targets="@{wlservername}"/>
</sequential>
</macrodef>
Just specify all the properties correctly be it localhost or a remote machine. It should work.
Upvotes: 1
Reputation: 11
If you use the Ant Task, then be sure and include the upload="true" parameter. This will copy the war, ear file to the remote weblogic system so you don't have to.
Upvotes: 1
Reputation: 570345
I don't want to install weblogic and oracle in my development computer , they consume too much memory
Even when not running?
how can I deploy my application from my development machine to another machine which has oracle and weblogic installed
You can use the following tools:
webLogic.Deployer
(see the weblogic.Deployer Command Line Reference)wldeploy
, the Ant Task version of the weblogic.Deployer
(see the wldeploy Ant Task Reference)Other options (if you are using maven):
Upvotes: 6