Logging In to FlexDeploy
Launch FlexDeploy in a supported browser using the following address:
http://\{host}:{port}/flexdeploy
Enter the Username fdadmin and its password. The default password during installation is welcome1 (which can be changed using the Administration -> Security -> Users page).
Installing Plugins (This section can be skipped if using the Community Edition)
The following plugins will be used within the Oracle ADF and SOA Suite workflows that are developed within this Getting Started Guide.
- Subversion Plugin
- Oracle JDeveloper Plugin
- Oracle SOA Suite Plugin
- Oracle Weblogic Plugin
Unless you are using the Community Edition of FlexDeploy, to utilize these plugins within workflows you must first download them from the Flexagon Support website and upload them to the FlexDeploy server.
The plugins can be downloaded from the Flexagon Support website under FlexDeploy -> Software Downloads. For the FlexDeploy Community Edition, the plugins are pre-installed.
To install the plugins, select Administration -> Plugins from the menu.
Click the Upload button to upload the SVN Plugin.
Click the Choose File button and browse to the location where the plugins were downloaded. Select the FlexDeploySVNPlugin-1.2.3.jar (or newer) and click the Open button. Click the OK button on the Upload Plugin dialog to complete the upload.
The plugin is now uploaded to the FlexDeploy server, but is inactive. To make it available for use you must select the plugin version you uploaded and click the Activate button.
Repeat these steps to upload the following plugins which are required to complete this Getting Started Guide.
Plugin |
---|
FlexDeployJDeveloperPlugin-3.5.17.jar |
FlexDeploySOAPlugin-3.5.46.jar |
FlexDeployWeblogicPlugin-3.5.105.jar |
FlexDeploySVNPlugin-3.5.18.jar |
*Note that newer versions may be used if available.
Creating Endpoints
The next step is to configure FlexDeploy with endpoints that provide the ability to communicate with each build and deploy server across your topology. Let's start by creating a BuildEndpoint which will hold the properties needed to connect to a server used for building applications. This server should have JDeveloper installed.
To view the list of endpoints defined within FlexDeploy, select Topology -> Endpoints from the menu. Click the Create button to add a new endpoint.
Fill in the appropriate values for your server and click on the Test Connection button to test your configuration. Additional information regarding endpoint configuration can be found in the FlexDeploy User's Guide. When the Test Connection is successful, click Save.
Follow the same steps to add an endpoint for the SOA and ADF servers.
Creating Environments
The next step is to configure FlexDeploy for the build and deploy environments across your topology. Let's start by creating a Build environment to execute the ADF and SOA Suite builds on, and another Development environment to deploy those builds to.
To view the list of environments defined within FlexDeploy, select Topology -> Environments from the menu.
Click the Create button to create the Build environment and enter the fields as shown below.
Click the Save button to save the changes and return to the list of FlexDeploy environments.
Repeat the steps above to create the Development environment, using the following fields.
Field Name | Value | Description |
---|---|---|
Environment Id | N/A | System generated identifier (read-only). |
Environment Code | DEV | Short name for the environment. |
Environment Name | Development | Long display name for the environment. |
Description | Development | A description of the environment. |
Active | Yes | Whether or not the environment is active in the system. Defaults to "Yes". |
Build Environment | No | Identifies whether the environment is used for builds. Defaults to "No". |
Sort Order | 2 | A sort index to control the order in which the environment is displayed within lists. |
Creating Technology Instances
Next we need to create instances for the technologies which we will be used for building and deploying. For the purpose of this guide, we will create a generic build instance to host our build-related technologies (i.e. JDeveloper), a build instance which has SOA Suite installed for our SOA related builds, and deployment target instances for ADF and SOA Suite.
So we will create the following four instances.
Instance | Description |
---|---|
BuildInstance | A generic build instance. |
BuildSOA | A build instance for SOA Suite. |
ADF1 | A deployment instance for ADF. |
SOA1 | A deployment instance for SOA Suite. |
To view the list of instances defined within FlexDeploy, select Topology -> Instances from the menu.
Click the Create button and select Instance to create the Build instance using the information shown below.
Click the Next button.
Associate this BuildInstance instance to the BLD environment by shuttling the environment from the list of available environments on the left to the list of selected environments on the right.
Click the Next button to associate workflows to this instance. Since we have not created any workflows yet we will skip this step (we will revisit this later when we create workflows). Click the Next button again to associate plugin operations to this instance.
Here we need to associate the plugin operations which will run on this instance by shuttling them from the list of available plugin operations on the left to the list of selected plugin operations on the right. By associating plugin operations to the instance, we are indicating that any environment instance scoped properties defined for those plugin operations need to be configured for the instance across all selected environments. Likewise, any projects which reference the instance must define any associated project-scoped properties. We will tie this all together when we configure the environment instances and the projects later.
For the BuildInstance, we need to associate the following plugin operations:
Click the Save button to save the changes to the instance and return to the list of FlexDeploy instances. Repeat the steps above to create the BuildSOA, ADF1 and SOA1 instances using the data provided below.
BuildSOA
Field Name | Value |
---|---|
Instance Id | N/A |
Instance Code | BuildSOA |
Instance Name | BuildSOA |
Description | BuildSOA |
Target | Yes |
Active | Yes |
Associated Environments | BLD |
Associated Workflows | (Skip) |
Associated Plugin Operations | FlexagonSOAPlugin – soaBuild |
ADF1
Field Name | Value |
---|---|
Instance Id | N/A |
Instance Code | ADF1 |
Instance Name | ADF1 |
Description | ADF1 |
Target | Yes |
Active | Yes |
Associated Environments | DEV |
Associated Workflows | (Skip) |
Associated Plugin Operations | FlexagonWLSPlugin –deploy |
SOA1
Field Name | Value |
---|---|
Instance Id | N/A |
Instance Code | SOA1 |
Instance Name | SOA1 |
Description | SOA1 |
Target | Yes |
Active | Yes |
Associated Environments | DEV |
Associated Workflows | (Skip) |
Associated Plugin Operations | FlexagonSOAPlugin – soaDeploy |
Creating a SubVersion Instance
Next we need to create an SCM instance for SubVersion which we will be used during the build process. SCM instances are not environment specific, so we will only configure this once.
To view the list of instances defined within FlexDeploy, select Topology -> Instances from the menu. All instances will be listed. SCM instances will be in the SCM group.
To create the SCM instance for SubVersion, click on Create and select SCM Instance.
Fill in the information per your SubVersion information.
Click save.
Configuring Environment Instances
An Environment Instance, as its name suggests, is simply an association between one environment and one instance. The Environment Instances were created automatically when we associated the instance to environments. The association can then be used to assign endpoints and provide values for any properties mapped to those environment instances (through workflows or plugin operations).
In this guide we created BuildInstance and BuildSOA instances and associated them to the Build environment. On the deployment side, we created two instances (ADF1 and SOA1) and associated them to the Development environment. So in total we have four environment instances.
To view the Environment Instances that have been established select Topology -> Environment Instances from the menu.
Notice that the four instances we created are represented as rows and that the two environments we created are represented as columns. Where an instance and an environment intersect is known as an environment instance. There are two cells within this intersection – the number of configured endpoints, and the number of configured properties.
Locate the Endpoints column (identified by the blue arrow) in the intersection of the BuildInstance and the Build environment. Click on the number in that column to associate endpoints to that environment instance.
Select the BUILDENDPOINT endpoint which you configured in an earlier step (on the left), and click the Add button to shuttle it to the selected endpoints (on the right).
Click the Save button to save the changes, and then click the Properties tab to allow entry of properties required for this environment instance.
We have associated an operation of the JDeveloper plugin to the Build instance. This plugin operation requires a property to be configured on the environment instance. Enter a value for the required property and then click the Save button to save your changes. Then click the Back button to return to the list of environment instances.
Note that the BuildInstance/Build environment instance now has one associated endpoint and 1 of 1 properties configured.
Repeat the steps above to configure the endpoints and required properties for the BuildSOA/Build, ADF1/Development and SOA1/Development environment instances. In this case, you will need to configure properties for the plugin operations associated with those instances.
Note that for the BuildSOA/Build environment instance, you can associate it to the same endpoint that you will use for the DeploySOA/Development endpoint. From a SOA build perspective we simply need the libraries of any SOA Suite installation.
Creating Workflows
Next we will create reusable workflows which define the build and deployment operations for Oracle ADF applications and Oracle SOA Suite composites. These workflows will then be used by many projects to deploy specific applications and composites (coming in the next section).
Select Workflows from the menu. Click the plus icon in the Workflows navigation tree to create a workflow for building an Oracle ADF application.
Enter the details for the workflow in the Workflow Details form as shown below. Use the Add button to create a workflow property.
Click the Save button, and then click the Definition tab to begin designing the workflow.
Locate the Plugin Operations pane on the lower right-hand corner of the screen. Expand FlexagonSVNPlugin, and drag the exportProjectSources operation onto the workflow editor pane. The SVN information will be configured in the project, so you don't need to fill in the inputs.
Click the OK button to save the changes.
Expand the FlexagonJDeveloperPlugin, and drag the applicationBuild operation onto the workflow editor pane. Enter the following details when prompted.
Click the OK button to save the changes. Verify that the workflow now looks as follows.
Click Activate button to save and activate your changes.
When you activate the workflow version (in this case 1.0) it becomes read-only and is unavailable for future edits. To make new changes you must make a copy by clicking the Make Copy button. The active workflow is executed at runtime unless overridden.
Finally, we must make the workflow properties we created available to projects which use those workflows. This is accomplished by associating the workflow to the instance(s) the workflow will run on (note that we skipped this step when we created the BuildInstance). Edit the BuildInstance instance and associate the buildADF workflow to it by shuttling it from the list of available workflows on the left to the list of selected workflows on the right.
Repeat the steps in this section to create the following workflows.
Workflow Name | Workflow Steps |
---|---|
deployADF | FlexagonWebLogicPlugin->deploy (to deploy the EAR) |
buildSOA | FlexagonSVNPlugin->exportProjectSources (to checkout the composite project) |
deploySOA | FlexagonSOAPlugin->soaDeploy (to build the SOA artifacts) |
Don't forget to associate the *buildSOA workflow to the BuildInstance instance.
For more information regarding inputs for these plugin operations refer to the plugin guides located on the Flexagon Support site. For the FlexDeploy Community Edition the documentation is located in the <flexdeploy install folder>/docs.
Creating Projects
You should now have workflows for building and deploying both ADF applications and SOA Suite composites. These workflows can be used to build and deploy hundreds of ADF applications and SOA composites across your enterprise without any changes required.
Let's start by creating an ADF project. You will need to identify an existing ADF application that you want to manage build and deployments for, and find its location in SVN.
Select Projects from the menu. By default there is a root folder called FlexDeploy.
Right-click on the FlexDeploy folder and select Create Application.
Enter a name and description for the application and click the OK button. Then right-click on the newly created application and select Create Project.
Enter a name and description for the project and click the OK button. The newly created project will open. Click the light-blue Configure tab to enter further configuration.
Enter the Project Configuration information as shown in the image above. Additional information on the SCM configuration is available in the FlexDeploy User's Guide. Make sure that the Trunk Path Script (7) matches your configuration. Click Save and switch to the purple Properties tab.
Enter the Project Property Configuration information as shown in the image above. Enter values for the project property that are relevant to your ADF application. Notice the ADF_PROJECT_NAME (1) project-scoped property that we configured on the buildADF workflow. This property is exposed as a project property so that the workflow is generic and can be reused by many projects.
Click the Save button to save your changes.
For more information regarding inputs for these plugin operations refer to the plugin guides located on the Flexagon Support site or in the <flexdeploy install folder>/docs directory of the FlexDeploy Community Edition installation.
Repeat the steps in this section to create an application and project for SOA Suite, referencing the plugin guides as necessary.
Executing Build & Deployments
We have now configured FlexDeploy with everything it needs to begin executing build and deployment requests for the ADF and SOA projects that were created.
Click on the green Execute tab from within the ADF application you created in the last section. Next click the Build button to present the build request form.
Select the Build environment and click the Submit Request button. You may now click the refresh button periodically, or wait for the automatic refresh, until the status changes to Success or Failure.
You can also click on the Execution Id to drill into the step details of the workflow or view the logs, which is critical in the case of failures.
Once there is a successful build you can request a deployment by clicking on the Deploy button.
On the Deployment Request Form select the project version you wish to deploy, the target environment, and the target instance. Click the Submit Request button. Similarly to the build request, you may click the refresh button periodically, or wait for the automatic refresh, until the status changes to Success or Failure, or click on the Execution Id to view the logs.
Using the same steps as described above, execute build and deployment requests for the SOA project you created.