> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flexagon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Oracle WebLogic Resources

> Objective You have a given WebLogic Resource properties file stored in a Git repository. This properties file will define several data sources we want

# Objective

You have a given WebLogic Resource properties file stored in a Git repository. This properties file will define several data sources we want to deploy to a WebLogic server. The WebLogic servers we will be using in this tutorial are running Oracle SOA Suite, but this tutorial can be used for all WebLogic servers, regardless of installed technology. The goal of the tutorial is to automate the deployment of the configuration across multiple environments. This automation will include:

* Cloning the properties from a Git repository

* Deploying the configuration to multiple environments

* Utilizing property replacement to adjust environment-specific passwords as deployments progress through the environments

We will walk through each of the FlexDeploy features that will be created/configured to accomplish this goal and have the resources deployed in a very short amount of time.

The tutorial does not cover every feature or configuration option available in FlexDeploy.

### Checklist

<table><colgroup><col /><col /></colgroup><tbody><tr><th>**Checklist**</th><th>**Description**</th></tr><tr><td>WebLogic Admin User</td><td>Admin user name for WebLogic server.</td></tr><tr><td>WebLogic Admin Password</td><td>Weblogic Admin User password for WebLogic server.</td></tr><tr><td>Oracle WebLogic Home (WL\_HOME)</td><td>WebLogic Home Directory. (e.g. /u01/oracle/products/fmw/wlserver)</td></tr><tr><td>WebLogic Domain Name</td><td>WebLogic Domain Name.</td></tr><tr><td>WebLogic Admin Listener Address</td><td>The listener address of the WLS admin server. (e.g. localhost)</td></tr><tr><td>WebLogic Application Name</td><td>The name of the application (EAR or WAR) to be deployed.</td></tr><tr><td>WebLogic Server or Cluster Name(s)</td><td>WebLogic Server or Cluster name to deploy application.\
It is assumed that you are using managed server or cluster of same name in various environments.</td></tr><tr><td>WebLogic Domain Directory</td><td>Weblogic Domain Directory. (e.g. /u01/oracle/config/domains/soa\_domain)</td></tr><tr><td>WebLogic Node Manager Host</td><td>The host for Node Manager connection.</td></tr><tr><td>WebLogic Node Manager Port</td><td>The port for the WLS Node Manager.</td></tr><tr><td>WebLogic Node Manager User</td><td>The user id for the WLS Node Manager.</td></tr><tr><td>WebLogic Node Manager Password</td><td>The password for the user id of WLS Node Manager.</td></tr><tr><td>Hostname for WebLogic Admin Server</td><td>The hostname for WebLogic Admin Server</td></tr><tr><td>User Id which runs Admins Server (e.g. Oracle)</td><td>FlexDeploy will connect to target server using this user.</td></tr><tr><td>Password for user Id</td><td /></tr><tr><td>JDK Home for Admin Server Node</td><td>Recommended JDK used by Oracle WebLogic.</td></tr><tr><td>Base Directory (working directory with at least 4GB space)</td><td>Minimum of 4GB space on each WebLogic node. Avoid /tmp and /var/tmp as Linux processes may clean up files automatically and conflict with FlexDeploy.</td></tr></tbody></table>

## Create WebLogic Project using Blueprint

The assumption is that you have FlexDeploy installed and ready for use. After logging in to FlexDeploy, click on the **+** icon on the top and click **Create Project**.

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923069.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=0065cc8dcfffdfb45713d3d3350f5da7)

The screen displays the list of technologies supported by FlexDeploy blueprints. Select the blueprint from the list or search for it in the search input. In our case, we will select the **Oracle WebLogic Configurations** blueprint.

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923930.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=6844c37852cd3398760a8f36136914ed)

### General Configuration

Scroll through this guide to fill in the blueprint properties. Name the [Project](https://docs.flexagon.com/flexdeploy-9-0-documentation/flexdeploy-users-guide/projects.md) well to describe what configurations you are managing.

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923936.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=6f125298883ec2494980281a6520806b)

#### Project Info

<table><colgroup><col /><col /><col /></colgroup><tbody><tr><th>**Property Name**</th><th>**Value for this tutorial**</th><th>**Description**</th></tr><tr><td>Project Name</td><td>HRWLSConfigurations</td><td>The name of the project for WebLogic Configurations.</td></tr><tr><td>WebLogic Configs Description</td><td>Order</td><td>Brief description of the project for WebLogic Configurations.</td></tr><tr><td>Oracle WebLogic Install Name</td><td>SOAHR</td><td>This value will provide an environment independent name for SOA install (eg. SOA, SOAHR ).</td></tr></tbody></table>

 The Build and Deploy options are auto-selected.

### Source Control

Click on the source repository dropdown. If you have already created a connection to your source code repository, select it from the list.

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923084.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=704bf21a60bdeb66ac8f8e424e097f29)

Otherwise, add one by clicking on **Create new Source Repository**.

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923075.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=f3ed72a223350d1a084d1accdecb8ee8)

#### Inputs Info

<table><colgroup><col /><col /><col /></colgroup><tbody><tr><th>**Field**</th><th>**Required**</th><th>**Description**</th></tr><tr><td>Name</td><td>Yes</td><td>A descriptive name for this SCM instance.</td></tr><tr><td>Code</td><td>Yes</td><td>A technical code for the instance, without any spaces. The codes are available as variables to shell and Groovy scripts, and therefore need to comply with limitations. </td></tr><tr><td>Source Control Type</td><td>Yes</td><td>Type of source control management system.  We will use **Git** for this tutorial.Supported source control management systems are:<ul><li>Subversion</li><li>Git</li><li>Microsoft TFS Version Control</li><li>PVCS</li><li>CVS</li><li>Perforce</li><li>File System</li></ul></td></tr><tr><td>Description</td><td>No</td><td> </td></tr><tr><td>SCM Properties</td><td>Yes</td><td>The remaining properties are specific to the selected SCM.For Git:<ul><li>Git URL</li><li>Git User</li><li>Git Password</li><li>Git Timeout (optional)</li><li>Git File Content (optional)</li><li>Git File Content Commit URL (optional)</li></ul></td></tr></tbody></table>

We selected the SCM type as **GIT**. The properties related to the GIT source control management will be displayed on the screen.

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923081.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=00113b54e3f44e42136044202a38c5ce)

Click on **Create New Credential** to create a new credential for your GIT password or API token. Enter the credential name, which is a unique name to identify the password. In the secret text, enter the password/API token, then click **Save**.

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923087.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=26ab85f1db77330dbc0af7714fdc6a3e)

Next, do a **Test Connection**. The green color ticket mark will show that the connection is successful, or an error message will be displayed if FlexDeploy is unable to connect. After testing the connection and reviewing all details, click **Save** on the SCM instance.

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923090.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=aad7c5456c1c14769b9c3121c84aa9a0)

Next on the blueprint, enter the sparse checkout folder value. This is only needed if you want to check out only part of the repository.

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923951.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=755356302e449a3956a73894d040fba3)

### Gather Build and Deployment Information

Enter values for any workflow properties which are required for the build and deploy. No properties are required for this build. Select the target endpoint that the build and deploy should execute on. Click **Confirm.**

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923954.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=b47ac76fbc019e4a7b6eaed168e7700e)

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923957.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=01b1020e5f3759365241bc29a4f685d4)

#### Target Properties

<table><colgroup><col /><col /><col /></colgroup><tbody><tr><th>**Property Name**</th><th>**Values for this Tutorial**</th><th>**Description**</th></tr><tr><td>WebLogic Domain Directory</td><td>/u01/oracle/config/domains/soa\_domain</td><td>The WebLogic Domain Directory for managed servers.</td></tr><tr><td>WebLogic Home Directory</td><td>/u01/oracle/products/fmw/wlserver</td><td>Weblogic Home Directory. Subfolders such as ‘common’, ‘modules’, and ‘server’.</td></tr><tr><td>Domain Name</td><td>soa\_domain</td><td>The WebLogic Domain Name.</td></tr><tr><td>Oracle MiddleWare Home (MW\_HOME)</td><td>/u01/oracle/products/fmw</td><td>The oracle middleware home (which has subfolders such as oracle\_common, wlserver, coherence\*, etc.)</td></tr><tr><td>Admin Server Listen Address</td><td>soalt03.flexagon</td><td>The listener address for the WLS Admin Server.</td></tr><tr><td>Admin Server Listen Port</td><td>7001</td><td>The port for the WLS Admin Server.</td></tr><tr><td>Admin User</td><td>weblogic</td><td>The admin username for the WLS Admin Server.</td></tr><tr><td>Admin Password</td><td>locate this value from your WLS admin server.</td><td>The admin password for the WLS Admin Server.</td></tr></tbody></table>

### Confirmation Popup

The Project name is **HRWLSConfigurations**.

The Folder path is auto-updated to **FlexDeploy/WebLogic**, but can be adjusted as needed.

Click **Create**.

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923960.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=b1ed38f26eff33e84dea98fb75955d42)

After creation, the Project is opened automatically. We can see the folder hierarchy on the Project.

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923963.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=2ae635ea8dd695c24c80d5b616374d12)

### Summary

Review all Project details below and adjust as necessary.

#### General Configuration

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923966.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=2ca65d45f70b312f129a1cf86c40aa33)

#### Build and Deploy Workflows

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923972.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=f46436559153199c2f9afa82d811a37a)

#### Source Control

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923969.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=7094e6a5a0047f7bdee73c1b2c5d8f42)

#### Branch Name

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923117.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=46dee60c47623621db5b7738ebc2726f)

Change the branch name to match the branch you want to build from in your Git repository. Click **Save**.

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923978.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=5ea21b68686d6cb254c475a5f14cc5b3)

#### Target Properties

Select Topology from the menu and choose a Target Group on the left. You will see a list of Environments on the right with colored circles representing each [Target](https://docs.flexagon.com/flexdeploy-9-0-documentation/flexdeploy-users-guide/topology/target-groups/target-endpoints-and-properties.md). 

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923252.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=692af68328c058e243bbec8623d3dccf)

**Color coding represents:**

* RED - The Endpoint is not configured

* YELLOW - some of the required properties are not set

* GREEN - all required properties are set and the Endpoint is configured

Clicking the Environment row for Development allows modifying the Endpoint and properties.

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923246.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=15e0b5c3c816a60815d2217dbdd13fe9)

### Build Execution

FlexDeploy is configured with everything that is required to execute a build and deploy request for the ADF application, so we can now execute the first build.  On the Project, select the **Execution** tab and select the **Build** button.

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923981.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=40c6683bd5b6b3fd042b34410a6e726c)

The build request form will appear and we need to:

1. Select the Environment we want to build the application in. All active [environments](https://docs.flexagon.com/flexdeploy-9-0-documentation/flexdeploy-users-guide/topology/environments.md) that have been marked as build Environments will appear in the dropdown.

2. Select the SCM branch that was configured on the project. This will be defaulted to the main branch.

3. Submit the request. This will initiate the Build WebLogic Configurations [workflow](https://docs.flexagon.com/flexdeploy-9-0-documentation/flexdeploy-users-guide/workflows.md).

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923990.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=35d46c97d43ca7f1fa57abb4759ca2ce)

Upon submission, the build workflow is initiated and the workflow steps are executed on the SOA instance in the Dev environment utilizing the SOADEV endpoint. Upon completion of the workflow, the execution status will be shown as successful or failed.

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923984.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=30773a5f1cb8b3ae35aa85f79fe3c9ce)

With the successful execution of the build, a few property file artifacts are created, stored in the [artifact repository](https://docs.flexagon.com/flexdeploy-9-0-documentation/flexdeploy-tutorials/terms.md) and marked with the Project Version. Every build will generate a new Project Version. The generated properties artifact can be viewed from the Execution Id link and the **Artifacts** tab.

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923987.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=90ce7f2609f021e2efd73addd8e917dc)

Navigate to the **Steps** tab in order to view the workflow steps, and optionally follow the links for each step to view the plugin logs.

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923993.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=3f946cc24a341f8836e66dd47c3180a9)

Before deploying the properties artifact to the environment, we will define any workflow properties we want to use. Click to open the **Configuration** tab. Beside the deploy workflow, click on the arrow to navigate to the deploy workflow.

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923996.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=cba3f8e5152bfed979dd97893bca75c7)

These properties will be replaced in the properties file we check out from Git. This allows us to use a single property file and change it for each environment, rather than having multiple files for every environment. Using these properties inside of the properties files also allows us to build the project once, then deploy those files to each environment without having to build again.

We're going to be creating WebLogic datasources, EIS, and JMS configurations. Some of the values that are required to create them are passwords. It would be much too insecure to store these passwords in plaintext in the properties file we check out from Git. That's where FlexDeploy's workflow properties come in. We can create a property to store the password encrypted in FlexDeploy, then use a [placeholder](https://docs.flexagon.com/flexdeploy-9-0-documentation/flexdeploy-variables-guide/property-replacement-support.md) in the file for FlexDeploy to [replace](https://docs.flexagon.com/flexdeploy-9-0-documentation/flexdeploy-variables-guide/property-replacement-support.md) with the password during the deployment. This is useful not only for security, but also for any values that may change across environments (e.g. server names).

We'll start by creating a workflow property for the datasource password.

1. Go back to the **Properties** tab of the Workflow

2. Click the **Create** button to add a new property

3. Provide a unique code for the new property

4. Provide a name for the property. A property display name does not have to be unique and can contain spaces

5. Mark the property as required

6. Select the property scope. This defines where the property will be configured. We're using **Target** because this property will be different for each environment

7. This property is a password, so we'll check encrypted. This will store the property value in encrypted format and keep the value hidden from screens and logs

![image-20240315-163301.png](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590924017.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=5f4cc338fbb2255927c28455964d4fde)

With the **Datasource Password** property created, we will also need to create one more property – **SOA\_TARGET.** This property will be used as the target for the datasource FlexDeploy creates. We will create it the same way as the last property, except this time we can leave encrypted unchecked and set the type as Text Field. If you have many plain text values that differ between environments, you can also use folders stored in Git to handle them.

![image-20240315-163558.png](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590924014.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=078c755ecef5711fa0b42fdcc7e5c363)

Make sure to save the workflow after adding the properties.

#### Setting the Newly Added Target Properties

Select **Topology** from the menu and then find and select your deploy Target Group. Select the DEV Environment to configure the deploy target. Provide values for the newly added properties - DataSource Password and SOA Target.

![image-20240315-164149.png](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590924020.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=908f3d3840e6ab557a152b24213350db)

Now the properties artifacts can be deployed to the Development environment by going back to the Project and selecting the deploy icon as shown in the below screenshot.

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590923999.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=e3ea20da368d49d695832de1e1504fd8)

The deploy request form will appear and we need to:

1. Select the Project Version. The form will default to the latest Project Version but the dropdown will contain all previously created Project Versions.

2. Select the Environment that the deployment will be executed in.

3. Select the Deploy [Target Group(s)](https://docs.flexagon.com/flexdeploy-9-0-documentation/flexdeploy-users-guide/topology/target-groups.md). Deployments can happen on multiple Target Groups.

4. Submit the request, which will initiate the Deploy Config Configurations workflow.

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590924002.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=b30e5c02cf542edba4a76d940200fa98)

Upon submission, the deploy workflow is initiated and the workflow steps are executed on the SOA target group in the Dev environment, utilizing the SOADEV [endpoint](https://docs.flexagon.com/flexdeploy-9-0-documentation/flexdeploy-users-guide/topology/endpoints.md). Upon completion of the workflow, the execution status will be successful or failed.

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590924005.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=ffba42c100469ca4657126d461842317)

The Execution Id is a link to all of the execution data related to each request, such as

1. The workflow execution steps

2. The logs for each workflow step

3. The artifact, which can be downloaded

4. The Project and Target property values at the time of execution

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590924008.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=92d45bc1fb8d88852722596bfb610057)

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590924011.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=c54e44e0ac3201fad24b5667e4909b77)

Congratulations! You have successfully completed the WebLogic Resource tutorial.

Now that you have configured FlexDeploy for one WebLogic Configuration, it is extremely easy to add more configurations. Simply use the **Copy Project** feature and a new project will be created with all of the configuration completed already. Just name the new project and select the appropriate FlexDeploy application. With everything copied, you can make minor adjustments to the configuration as needed and be ready to build/deploy in minutes.
