WebLogic Maven Plug-In 自動部署

利用 Maven Plug-In 部署應用程式到 WebLogic

WebLogic 提供了利用 Maven Plug-In 控制 WebLogic 的各種功能。本篇會介紹在 Windows 的環境下如何利用 Maven Plug-In 執行 WebLogic 應用程式的部署及去部署,可以更快速地更新應用程式。若結合 Jenkins、Azure DevOps Server 等 CI/CD 工具更可以達到自動化部署的功能。


安裝 WebLogic Maven Plug-In

安裝 WebLogic Maven Plug-In 前必須先安裝 Maven,可參考這篇

Note:
本篇 ORACLE_HOME=D:\Oracle\Middleware\Oracle_Home

  1. 開啟 cmd 到指定目錄
cd <ORACLE_HOME>\oracle_common\plugins\maven\com\oracle\maven\oracle-maven-sync\14.1.1
  1. 執行 install:install-file 安裝 oracle-maven-sync-14.1.1.jar
mvn install:install-file -DpomFile=oracle-maven-sync-14.1.1.pom -Dfile=oracle-maven-sync-14.1.1.jar

可以看到 oracle-maven-sync-14.1.1-0-0.jar 已安裝到伺服器的 Maven Local Repository,如下圖:

  1. 執行 push
mvn com.oracle.maven:oracle-maven-sync:push -DoracleHome=D:\Oracle\Middleware\Oracle_Home

執行完成後會從 Maven Central Repository 下載必要的套件到伺服器的 Maven Local Repository,如下圖:

  1. 複製伺服器的 Maven Local Repository 到客戶端本機

最後將上圖伺服器的 Maven Local Repository 複製到客戶端本機的 Maven Local Repository,以利用客戶端本機的 Maven Plug-In 執行 WebLogic 的部署及去部署。


設定部署應用程式的 pom.xml 檔並執行部署

設定部署應用程式的 pom.xml 檔,檔名命名為 deploy-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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.example</groupId>
  <artifactId>demo</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
  <name>demo</name>
  <url>http://maven.apache.org</url>
  <build>
    <finalName>demo</finalName>
    <plugins>
      <plugin>
        <groupId>com.oracle.weblogic</groupId>
        <artifactId>weblogic-maven-plugin</artifactId>
        <version>14.1.1-0-0</version>
        <configuration>
          <adminurl>t3://localhost:7001</adminurl>
          <user>weblogic</user>
          <password>P@ssw0rd</password>
          <upload>true</upload>
          <remote>false</remote>
          <targets>ManagedServer_1</targets>
          <verbose>true</verbose>
          <source>demo-0.0.1-SNAPSHOT.war</source>
          <name>demo-0.0.1-SNAPSHOT</name>
        </configuration>
        <executions>
          <execution>
            <phase>install</phase>
            <goals>
              <goal>deploy</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

Note:

  • <adminurl>:為 WebLogic 的 Web Console URL。
  • <user>:為 Web Console 的帳號。
  • <password>:為 Web Console 的密碼。
  • <targets>:為部署至 Managed Server 的名稱。
  • <source>:為 war 檔的路徑。
  • <execution>:為將 <goal> 標籤的 deploy 綁定到 Maven 的 install 階段,因此只需要執行 mvn install 即可。

將 deploy-pom.xml 與欲部署的 war 檔放置於同一層目錄,如下圖:

Note:
若不同層目錄,則必須修改 <source> 標籤的路徑。

執行部署:

mvn install -f deploy-pom.xml

完成應用程式的部署。


設定去部署應用程式的 pom.xml 檔並執行去部署

設定去部署應用程式的 pom.xml 檔,檔名命名為 undeploy-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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.example</groupId>
  <artifactId>demo</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
  <name>demo</name>
  <url>http://maven.apache.org</url>
  <build>
    <finalName>demo</finalName>
    <plugins>
      <plugin>
        <groupId>com.oracle.weblogic</groupId>
        <artifactId>weblogic-maven-plugin</artifactId>
        <version>14.1.1-0-0</version>
        <configuration>
          <adminurl>t3://localhost:7001</adminurl>
          <user>weblogic</user>
          <password>P@ssw0rd</password>
          <remote>false</remote>
          <targets>ManagedServer_1</targets>
          <verbose>true</verbose>
          <name>demo-0.0.1-SNAPSHOT</name>
        </configuration>
        <executions>
          <execution>
            <phase>install</phase>
            <goals>
              <goal>undeploy</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

Note:

  • <adminurl>:為 WebLogic 的 Web Console URL。
  • <user>:為 Web Console 的帳號。
  • <password>:為 Web Console 的密碼。
  • <targets>:為去部署 Managed Server 的名稱。
  • <execution>:為將 <goal> 標籤的 undeploy 綁定到 Maven 的 install 階段,因此只需要執行 mvn install 即可。

將 undeploy-pom.xml 放置於同一層目錄,如下圖:

執行去部署:

mvn install -f undeploy-pom.xml

完成應用程式的去部署。


參考資料

  1. 3 Using the WebLogic Maven Plug-In