3 Set Up VB Studio to Extend Oracle Cloud Applications

This chapter tells you how to set up Oracle Visual Builder Studio (VB Studio) so that your users can customize certain Oracle Cloud Applications by creating application extensions.

An app extension is an artifact that allows you to extend certain Oracle Cloud Applications to meet your business needs. You deploy an app extension to an Oracle Cloud Applications instance. This documentation assumes that you have created and set up Oracle Cloud Applications instances for development and production environments in different identity domains.

Here's a summary of how to set up VB Studio for developing app extensions:

To perform this action: See this: Why do I need to perform this action?
1. Get the required IDCS roles assigned to you Get the Required IDCS Roles To create and set up the VB Studio instance, you must be assigned some specific IDCS roles.
2. Get access to Oracle Cloud Applications instances Get Access to Oracle Cloud Applications Instances To deploy your app extension to Oracle Cloud Applications development and production instances, you'll need credentials users who can access them.
3. Sync Oracle Cloud Applications users with VB Studio Set Up VB Studio Users To allow Oracle Cloud Applications access to VB Studio, sync Oracle Cloud Applications with Oracle Identity Cloud Service (IDCS) and then assign them VB Studio roles.

After setting up VB Studio, follow these steps to create and set up a project for developing your app extension. You should create one project for each of your base Oracle Cloud Application.

To perform this action: See this: Why do I need to perform this action?
1. Create a project for app extensions Create a Project for Application Extensions To develop an app extension, you must create a VB Studio project based on the Application Extension template.
2. Set up the project for development Set Up the Project for Development When you create a project based on the Application Extension template, some artifacts are created by default. These artifacts require additional configuration before your team members can use them.
a) Add the built-in free VM. Add the Built-In Free VM Build jobs in VB Studio run on Build VMs. By default, VB Studio is connected to the built-in free account that offers one built-in free VM, but you must manually add it.
b) Configure the deployment job Configure the Deployment Job When you create an app extension project, the deployment job is missing the credentials to connect to the target development instance, so you must specify them manually.
c) Run the development build pipeline Run the Pipeline Test the default package and build jobs to make sure they generate a build artifact and deploy it to the Oracle Cloud Application's development instance.
d) View the deployed app extension View the Deployed Application Extension After you've deployed the app extension, you can view it's URL on the Environments page.
3. Add Oracle Cloud Applications users to the project Add Users to the Project To allow your team members to access the app extension project, invite them to join the project.
4. Advanced configuration Advanced Configuration After you've set up the project, if required, you can make some optional advanced configuration to it.

After setting up the project, follow these steps to set up the project for deploying your app extension to the production instance:

To perform this action: See this: Why do I need to perform this action?
1. Add the Oracle Cloud Application's production instance to an environment Add the Oracle Cloud Application's Production Instance to an Environment First, create an environment and add the Oracle Cloud Application's production instance to it.
2. Create the production branch Create a Production Branch Create a production branch from the master branch and use it to host app extension's code files that are ready for production.
3. Migrate Oracle Cloud Application's customization data from the development instance to the production instance Create and Configure Jobs to Migrate Your Oracle Cloud Application’s Customizations and Create and Configure the Production Sandbox Pipeline Create and configure jobs to migrate customization data from the Oracle Cloud Applications development instance to the production instance.
4. Create the packaging and deployment build jobs, and set up a build pipeline Create the Production Packaging Build Job, Create the Production Deployment Build Job, and Create and Configure the Production Pipeline Next, create and configure the packaging and deployment jobs to promote your app extensions to your Oracle Cloud Application's production instance.
5. Run pipelines and jobs Run Production Pipelines and Jobs Run the production pipelines and jobs that deploy app extension and customizations to the production instance.

Before You Begin

Before you set up VB Studio, you may want to review VB Studio key concepts in Key Concepts, Components, and Terms. You should also learn about the built-in free account, its built-in free VM, and best practices.

To deploy app extensions, you'll also need access to development and production Oracle Cloud Applications instances.

VB Studio's Built-In Free Account and Built-In Free VM

In a VB Studio app extension project, you use build jobs to compile the source code, package the app extension, and deploy it to an Oracle Cloud Applications instance. The builds run on a VM, called as a Build VM. To run the build, the VM needs access to some software and an operating system, which are defined in a VM template.

By default, your VB Studio instance is available pre-configured with a built-in free account that offers one built-in free VM VM and a VM template. Your organization's members can use the built-in free VM and the default VM template to run build jobs that package and deploy your app extensions.

To find out more about the built-in free account and its built-in free VM, see VB Studio's Built-In Free Account

Best Practices

Here are some best practices to follow while setting up VB Studio to develop app extensions.

  • Follow your organization's guidelines to create and set up Oracle Cloud Applications instances. Your guidelines may suggest to create instances for different software development environments, such as development, integration, test, pre-stage, stage, pre-production, and production. You can create these instances in different identity domains or in a common identity domain.

    This documentation assumes that you have created and set up Oracle Cloud Applications instances for development and production environments, where each instance is in a different identity domain.

  • Before you create a project, make sure that your Oracle Cloud Application's development and production instances are up and running.
  • Create one project for each of your base Oracle Cloud Applications, taking care to use the Application Extension project template.
  • After creating the project, add Oracle Cloud Applications users to the project and assign them proper project roles.

    For example:

    • Assign the Limited Developer role to users who want to work on customization, but don't run build jobs.
    • Assign the Contributor role to users who can access the project, but don't update the code files.
    • Assign the Developer role to trusted users who can access code files, build, and deploy the application.
  • If you use the Application Extension template to create your project, VB Studio automatically creates a Development environment that points to the Oracle Cloud Application's development instance you specify. The build jobs, created by default, package and deploy the app extension's artifact to the Oracle Cloud Application's development instance.

    If you want to use VB Studio to also deploy to your Oracle Cloud Application's production instance, you'll need to manually create a VB Studio environment for the instance.

  • To add Oracle Cloud Application's production instance from other identity domain, get either the identity domain's details or a user's credentials who can connect to the instance.
  • Follow your organization's guidelines to create and manage Git repository's branches. By default, the project uses the master branch for development. This documentation assumes that you'll continue to use master as the development branch and create separate branch for production.
  • You should set restrictions on the production branch to control who can merge to it.
  • To deploy to your Oracle Cloud Application's production instance, create separate jobs to package the artifact and to deploy it to the Oracle Cloud Applications instance. Then, create a pipeline to run the packaging and deploy jobs in sequence.
  • Set restrictions on who can edit or run production jobs.
  • Before you run production build jobs or pipeline, make sure that all code changes are pushed to the production branch and there are no open merge requests.

Get Access to Oracle Cloud Applications Instances

To deploy your app extension to Oracle Cloud Applications development and production instances, you'll need credentials of users who can access them. Contact the Oracle Cloud Applications administrator and get the details of users.

You should also make sure that each Oracle Cloud Applications instance is properly configured and running.

If an instance isn't available or not configured, then follow the Oracle Cloud Applications documentation to create and configure it.

Get the Required IDCS Roles

This table lists the Oracle Cloud Applications and identity domain roles you'll need to set up VB Studio:

You must be assigned this role: To ...
Identity Domain Administrator or User Administrator Add users and assign IDCS roles.
DEVELOPER_ADMINISTRATOR Set up VB Studio. After you're assigned the role, you're considered VB Studio's Organization Administrator.
OCI_Administrator (OCI Administrator) Set up OCI compartments and buckets, which are required to set up the VB Studio build system.
Compute.Compute_Operations and Storage.Storage_Administrator Create and manage VMs on OCI Compute Classic and store artifacts on OCI Object Storage Classic. These roles are required only if you're an OCI Classic user.
FND_ADMINISTER_SANDBOX_PRIV privilege in Oracle Cloud Applications, or any of these roles in your Oracle Cloud Application's development and production instances:
  • APPLICATION ADMINISTRATOR
  • APPLICATION DEVELOPER
  • SALES_ADMINISTRATOR
  • CUSTOMER RELATIONSHIP MANAGEMENT APPLICATION ADMINISTRATOR
Access sandboxes and your Oracle Cloud Application's development and production instances.

Set Up VB Studio Users

To allow access to VB Studio, you must add your Oracle Cloud Applications users to Oracle Identity Cloud Service (IDCS) and assign them VB Studio IDCS roles. Instead of adding users manually, you can synchronize Oracle Cloud Applications users with IDCS and then grant them the correct roles.

When a new user is added to Oracle Cloud Applications, the user is automatically synchronized with IDCS. Note that it can take up to an hour for the user to sync with IDCS.

Here's a summary of how to synchronize Oracle Cloud Applications users with IDCS:

To perform this action: See this:
1. Synchronize Oracle Cloud Applications users with IDCS Synchronize Oracle Cloud Applications Users
2. Assign VB Studio IDCS roles to Oracle Cloud Applications users Assign VB Studio Roles to Oracle Cloud Applications Users

To perform the above steps, you must be assigned the Identity domain administrator and the Security administrator role in IDCS, and the security admin privileges in your Oracle Cloud Applications environment.

Synchronize Oracle Cloud Applications Users

To synchronize users, follow these steps:

  1. In Oracle Cloud Applications, assign the FND_ADMINISTER_SANDBOX_PRIV privilege, or one of these Oracle Cloud Applications roles to users who want to access VB Studio:

    • Application Administrator (ORA_FND_APPLICATION_ADMINISTRATOR_JOB)
    • Application Developer (ORA_FND_APPLICATION_DEVELOPER_JOB)
    • Sales Administrator (ORA_ZBS_SALES_ADMINISTRATOR_JOB)
    • Customer Relationship Management Application Administrator (ORA_ZCA_CUSTOMER_RELATIONSHIP_MANAGEMENT_APPLICATION_ADMINISTRATOR_JOB )

    Here's an example of a user assigned the Application Developer role:

  2. Enable synchronization between Oracle Cloud Applications and IDCS.

    To do that, establish a connection from IDCS to your Oracle Cloud Applications environment, as described in Configure Provisioning and Synchronization of Oracle Identity Cloud Service - Application Catalog.

    To verify Oracle Cloud Applications users in IDCS, open the IDCS console, click Navigation Drawer Navigation Drawer and select Users.

    Here's an example of the IDCS Users page with synchronized Oracle Cloud Applications users:

    For each Oracle Cloud Applications role, IDCS automatically creates a group representing users assigned to that role. For example, the Application Administrator IDCS group represents users who are assigned the Application Administrator role in Oracle Cloud Applications.

    Here's an example of the Application Administrator group in IDCS:

Assign VB Studio Roles to Oracle Cloud Applications Users

After Oracle Cloud Applications users are synchronized and are available in IDCS, open the Oracle Cloud console and assign the VB Studio IDCS roles to users or groups. To assign roles, you must be assigned the IDCS Identity domain administrator role or the Security administrator role.

  1. Sign in to Oracle Cloud and open the Oracle Cloud Console page.
  2. In the upper-left corner, click Navigation Menu the Menu icon.
  3. Under Governance and Administration, select Identity, and then select Federation.
  4. On the Federation page, to assign a role to a user, in the Users tab under Resources, click the user's name.
    To assign a role to a group, in the Groups tab under Resources, click the group's name.
  5. Click Manage Roles.
  6. On the Manage Service Roles page, search for the service with Developer Cloud Service description, click the Actions icon (three vertical dots) and select Manage Instance Access.
  7. On the Manage Access page, in the Instance Role column, select the role.
    Assign the DEVELOPER_ADMINISTRATOR role to Oracle Cloud Applications administrators or to the APPLICATION ADMINISTRATOR group.

    Assign the DEVELOPER_USER role to non-admin users or groups, such as the APPLICATION DEVELOPER group.

  8. Click Update Instance Settings.
  9. Click Apply Role Settings.

To learn more about assigning and managing roles for a group, see Managing Oracle Identity Cloud Service Roles for Groups; for users, see Managing Oracle Identity Cloud Service Roles for Users.

Create a Project for Application Extensions

A project gathers all the resources you need for developing software. To ensure an optimal environment for your employees creating application extensions, be sure to base your project on the Application Extension project template.

  1. Sign in to VB Studio. See Access VB Studio from the Oracle Cloud Home Page.
  2. On the Organization page, click + Create.
  3. On the Project Details page of the New Project wizard, enter a unique name and description for the project.
  4. In Security, select the project's privacy setting.
    A private project is accessible to invited users only. Users who aren't invited can't access it or make changes to it. You can invite users after creating the project.

    A shared project is accessible to all users of the organization. Any user can view the source code, create or update issues, edit wiki pages, and interact with project builds. However, only invited users can make updates to the source code in Git repositories, create and run build jobs, and perform deployment operations.

  5. In Preferred Language, specify the language for the email notifications your project users will receive.
    You can change the language in which the user interface appears in your user preferences.
  6. Click Next.
  7. On the Template page, select the Application Extension template, then click Next.
  8. On the Application Extension Project Properties page:
    1. In Oracle Cloud Applications Development Instance, if not already selected, select the base application's development instance.
      The list shows Oracle Cloud Applications instances defined in the same identity domain as the VB Studio.
    2. (Optional) In Git Repository Name, change the project's Git repository's default name, if required.
    3. In Base Application, select the Oracle Cloud Application you want to extend in this project.
    4. In Workspace Name, enter your private workspace's name.

      A workspace contains all the artifacts that you need to develop app extensions, including a clone of this project's Git repository–and the branch–containing the source files. To learn more about workspaces, see What Is a Workspace and Why Do I Need One?

    5. In Working Branch Name, enter the workspace's working branch name.
      When the project is provisioned, the Git repository's master branch contains your application's files. While creating the workspace, VB Studio creates a copy of the master branch, renames it with your specified name and uses it as the workspace's working branch.
  9. Click Finish.
After the project is provisioned, the Project Home page opens where you can see a summary of the project's provisioning activities; default environment; and Git, Maven, and NPM repositories. Review the activity feed and the Environments box for any errors.

When you create a project using the Application Extension template, these artifacts are automatically created for you:

  • A Git repository, which contains the app extension's source code.

    To see the Git repository's files, go to the Project Home page, click the Repositories tab, then click the Git repository name:

  • A Development environment pointing to the development instance where your base Oracle Cloud Application is running.

    In the navigation menu, click Environments Environments to see the Development environment:

  • Build jobs that package and deploy the app extension's artifact to Oracle Cloud Application's development instance.

    By default, Application-Extension-Package and Application-Extension-Deploy jobs are created for you. The Application-Extension-Package job generates the app extension's artifact file. The Application-Extension-Deploy job deploys the app extension's artifact file to Oracle Cloud Application's development instance.

    In the navigation menu, click Builds Builds and then click the Jobs tab to see the build jobs:

    To run builds of the package and deploy jobs, you must first allocate Build VMs and make the appropriate deployment configurations. See Set Up the Project for Development. Without the appropriate configuration or VMs, the builds won't run.

  • A pipeline to run the build jobs in a sequence.

    In the navigation menu, click Builds Builds and then click the Pipelines tab to see the pipeline:

  • A private workspace to edit the app extension in the VB Studio Designer.

    In the navigation menu, click Workspaces Designer to see the workspace:

  • By default, the project uses the organization's default markup language. Your project's users use the markup language to format wiki pages and comments. If required, you can change the project's markup language from the Project Administration page. See Change a Project’s Wiki Markup Language.

Set Up the Project for Development

Before your team members can use the project for developing app extensions, you need to make a few configuration settings in the project.

Here's a summary of how to set up the VB Studio project for development:

To perform this action: See this:
1. Add the built-in free VM.

You must add the built-in free VM manually before your organization's members run builds.

Add the Built-In Free VM
2. Configure the deployment job.

By default, the deployment job doesn't have credentials to connect to the target development instance, so you must specify them manually.

Configure the Deployment Job
3. Run the development pipeline. Run the Pipeline
4. View the deployed app extension View the Deployed Application Extension
5. Add users to the project Add Users to the Project

Add the Built-In Free VM

By default, VB Studio is connected to the built-in free account that offers one built-in free VM, but you must manually add it. Your organization's members use this VM to run app extension's package and deploy builds.

  1. In the navigation menu, click Organization Organization.
  2. Click the Virtual Machines tab.
  3. Click Create Free VM.

Configure the Deployment Job

The deployment job deploys the app extension's build artifact to your Oracle Cloud Application's development instance. In the job, specify the credentials required to connect and deploy the build artifact to your Oracle Cloud Application's development instance.

  1. In the navigation menu, click Builds Builds.
  2. In the Jobs tab, click the deployment job.
  3. Click Configure.
  4. Click Configure Builds.
  5. Click the Steps tab.
  6. In Username and Password, enter the credentials of an IDCS user who is not only an Oracle Cloud Applications user, but one who can connect and deploy to the Oracle Cloud Application's development instance.
  7. Click Save.

Run the Pipeline

The development build pipeline runs automatically when a commit is pushed to the Git repository's branch specified in the packaging job.

If you want to run the pipeline manually:
  1. In the navigation menu, click Builds Builds.
  2. Click the Pipelines tab.
  3. In development pipeline's row, click Build Build.

To monitor the pipeline and see each job's status, click the pipeline's name. To see a job's build log, click the job's name and click Build Log Build Log.

If you want to run a job's build manually, open the job's details page and click Build Now. You can monitor its build on the job's details page.

View the Deployed Application Extension

After the deployment job has successfully run, you can view the deployed app extension in the Deployments tab of the Environments page.

  1. In the navigation menu, click Environments Environments.
  2. Select the Oracle Cloud Application's environment.
  3. Click the Deployments tab.
  4. Click the Application Extensions toggle button.
  5. If the Oracle Cloud Application's access credentials have changed, provide the credentials again.
  6. Expand the base Oracle Cloud Application to view its deployed app extensions.
    For each app extension, the page displays its ID, name, version, and status.

    Here's an example:

    In the packaging build step, if you didn't specify a version to overwrite the app extension's version defined in visual-application.json, the Version column appends the build's timestamp to the version number and displays it in the <version_number>.<build_run_timestamp> format.

To open the Oracle Cloud Application with the deployed app extension, copy the application's base URL and paste it in a web browser.

Add Users to the Project

You must explicitly add users before they can work within a project, as explained in this table:

Action How To

Add a user to the project

  1. In the navigation menu, click Project Home Project Home.
  2. Click the Team tab.
  3. Click + Add Member.
  4. In the Add Member dialog box, specify the new member’s project membership in Membership.

    To learn about different types of memberships, see What Are Project Memberships?

  5. In Username, enter or select the user from the list.
  6. Click Add.

Add multiple users to the project

  1. In the navigation menu, click Project Home Project Home.
  2. Click the Team tab.
  3. Click + Add Member.
  4. In the Add Member dialog box, select the Multiple Users check box.
  5. In Username, enter or select the user from the list, and click Add User the add user icon.

    The selected user is added to the Username List text box. If you know the usernames of users to add, enter them manually separated by a space, a comma, a semicolon, or a new line.

  6. Click Add.
Add users from another project
  1. Open the project that has users already added.
  2. In the navigation menu, click Project Home Project Home.
  3. Click the Team tab.
  4. Click Export the export members icon.
  5. In the Members List Export dialog box, copy the names of project members.
  6. Click OK or Close Close to close the dialog box.
  7. Open the project where you want to add the copied users.
  8. In the navigation menu, click Project Home Project Home.
  9. Click the Team tab.
  10. Click + Add Member.
  11. In the Add Member dialog box, select the Multiple Users check box.
  12. In Username List text box, paste the copied names of project members.
  13. Click Add.

Change a user’s project membership

To change a user’s membership, mouse over the user's name, click Change Membership the Change Membership icon, and then select the membership.

Advanced Configuration

After setting up the project, you can follow these optional steps to configure some advanced settings in your project. You can perform these steps at any time during your development cycle.

To perform this action: See this:
Add more VMs or VM templates.

By default, VB Studio is connected to its built-in free account and uses one built-in free VM with fixed software packages in the VM template. If you want to add more VMs or customize VM template's software packages, configure VB Studio to connect to your OCI or OCI Classic account.

Add More VMs or VM Templates
Configure the packaging job to change the app extension's version at build time.

By default, the packaging job uses the app extension's version defined in the visual-application.json file. If you want to specify another version when a build runs, configure the job.

Configure the Packaging Job
Protect the Git repository's master branch for unapproved code updates.

By default, a branch is accessible to all project users and anyone can make changes to its files. To restrict changes and push commits to the master branch, set restrictions on it to allow branch merges only after they are approved.

Set Merge Restrictions on the master Branch
Add More VMs or VM Templates

If you want to add more VMs to reduce the wait time for your organization's members or create custom VM templates, or use advanced features for VMs (such as use your own VCN or use a different VM shape), you should configure VB Studio to connect to your own OCI or OCI Classic account.

  1. Set up your OCI or OCI Classic account, and get the required input values.

    If you're an OCI user, before you connect to your OCI account, set up the OCI resources and get the required OCI input values.

    If you're an OCI Classic user, get the required OCI Classic input values.

  2. In the navigation menu, click Organization Organization.
  3. Click Connect OCI Account.
  4. In Account Type, select OCI or OCI Classic.
  5. Enter the required details and click Validate.
  6. After successful validation, click Save.

The VM template and the built-in free VM of your built-in free account migrate to the OCI account.

To create custom VM templates, see Create and Manage Build VM Templates. Remember to add Node.js 10 (or a higher version) to the VM template. Node.js 10 is the minimum version required for packaging app extensions.

To add more VMs:

  1. Click the Virtual Machines tab.
  2. Click + Create VM.
  3. In the Add Build VM dialog box, in Quantity, specify the number of VMs you want to allocate.

    To minimize build execution delays, set the number of VMs to the number of jobs that you expect to run in parallel using that template. If the VM quota is available, that number of Build VMs will be added to the Virtual Machines tab.

    If you're not sure about the number of VMs you'll need, start with one Build VM and then add more as required. Note that the more VMs you have running at a specific time, the higher the cost of OCPUs. To minimize the higher cost, use the Sleep Timeout setting on the Virtual Machines page to automatically shut down inactive VMs. You can always return to the Virtual Machines tab to remove or add VMs, based on your actual usage.

  4. In VM Template, select System Default OL7 for Visual Builder or a VM template with Node.js 10 (or higher) software.
  5. In Region, Shape, and VCN Selection specify the VM's region, shape, and Virtual Cloud Network (VCN).
    • A region is a localized geographic area where the data centers are located. Remember, a Build VM is a VM on OCI Compute or OCI Compute Classic. Choose the region where your VB Studio account is or the one that's closest to you geographically.
    • A shape is a template that determines the number of CPUs, amount of memory, and other resources allocated to the created instance. Choose a shape of your preference.
    • A VCN is a software-defined network that you set up in the Oracle Cloud Infrastructure data centers in a particular region. By default, builds run in your VB Studio's compartment. To run builds in your own VCN, select Custom and specify its details.

    To learn more about regions and shapes, see Regions and Availability Domains and VM Shapes. To find more about VCNs, see VCNs and Subnets.

  6. Click Add.
Configure the Packaging Job

The packaging job generates the app extension's build artifact from the source files in the Git repository's master branch.

The app extension's version is defined in the visual-application.json file. If you want the build artifact to use the same version, don't make any changes to the packaging job's default configuration.

If you want to specify another version when a build runs without modifying the visual-application.json file, follow these steps:

  1. In the navigation menu, click Builds Builds.
  2. In the Jobs tab, click the packaging job.
  3. Click Configure.
  4. Click Configure Configure.
  5. Click the Steps tab.
  6. Specify the new version in Extension Version.
    When a build runs, VB Studio overwrites the app extension's version defined in the visual-application.json file with the new version.
  7. Click Save.
Set Merge Restrictions on the master Branch

By default, the master branch is accessible to all project users and anyone can make changes to its files. To restrict changes and who can push commits to it, you may want to set restrictions on it and allow branch merges only after they are approved.

  1. In the navigation menu, click Project Administration Project Administration.
  2. Click Branches.
  3. In Repository and Branches, select the Git repository and the master branch.
  4. Select the Requires Review option.
  5. In Default Reviewers, enter and select the users.
    A default reviewer is a project member who is automatically added as a reviewer when a merge request is created on the branch.
  6. From the Approvals drop-down list, select the minimum number of reviewers who must approve the review branch of a merge request, where the selected branch is the target branch
  7. (Optional) To allow a review branch to be merged to the selected branch only if the last build of the linked job in Merge Request is successful, select the Require successful build check box.
    To use this option, link a build job to a merge request.
  8. (Optional) If you want to reset the approval status of reviewers if change is pushed to a branch after they have approved the merge request, select the Reapproval needed when branch is updated check box.
  9. (Optional) To ensure changes pushed to the target branch match the contents of the review branch, select the Changes pushed to target branch must match review content check box.
  10. (Optional) In Merge Request Exempt Users, specify users who can bypass the branch restrictions and merge the review branch of a merge request outside VB Studio or without required approvals.
    This is useful if you want to allow some users to merge the review branch irrespective of review conditions being met.
  11. Click Save.

What Next?

Now that you've set up VB Studio, created an app extension project and added Oracle Cloud Applications users to it, guide your organization members who develop app extensions to these documents to learn more about VB Studio.

  • How Do I Use Visual Builder Studio to Extend Oracle Cloud Applications in Extending Oracle Cloud Applications with Visual Builder Studio describes how to create, edit and publish app extensions using the VB Studio Designer.
  • Get Started in Managing Your Development Process with Visual Builder Studio is a good resource, as it explains how to manage a project, create and manage issues and Agile boards, review source code with merge requests, and more.

Set Up the Project to Deploy to Production

After your development and test cycles are complete, you may want to configure the project to build and deploy app extension to the Oracle Cloud Application's production instance.

Before you proceed, contact the Oracle Cloud Applications production instance administrator and make sure that the production instance is properly configured and running.

Here's a workflow summary of how to set up the VB Studio project for deployment:

To perform this action: See this:
1. In the VB Studio project, create an environment for the Oracle Cloud Application's production instance.

To deploy your app extension, you must add the Oracle Cloud Application's production instance to an environment.

Add the Oracle Cloud Application's Production Instance to an Environment
2. Create a production branch from the master branch. Use this branch to host app extension's code files that are ready for production. Create a Production Branch
3. Configure build jobs to migrate customizations, and package and deploy the app extension to the Oracle Cloud Application's production instance Create and Configure Production Build Jobs
4. Configure production pipelines Set Up Production Build Pipelines
5. Run the production pipelines and build jobs

Before you run production jobs and pipelines, make sure that all code changes have been pushed to the production branch and there are no open merge requests.

Run Production Pipelines and Jobs

Add the Oracle Cloud Application's Production Instance to an Environment

To deploy an app extension to the Oracle Cloud Application's production instance, you must create a VB Studio environment and add the production instance to it. You can only add one Oracle Cloud Applications instance to an environment.

The Oracle Cloud Applications production instance usually resides in another identity domain. To add an Oracle Cloud Applications production instance that resides in another identity domain to an environment, you'll need the base Oracle Cloud Application's URL and a user's credentials who can access the instance.

When you add an Oracle Cloud Applications instance (a service instance or an IDCS resource) to an environment, VB Studio creates an IDCS Application (also known as a Client Application) in the background. The IDCS Application generates an OAuth token to access the newly added Oracle Cloud Applications instance and handles authentication when VB Studio tries to access the target instance. Provisioning of the IDCS Application takes a few seconds to complete after the Oracle Cloud Applications instance is added to an environment.

After adding an instance to an environment, in the Service Instances tab, click Expand Downward Pointing Arrow to see the Oracle Cloud Applications instance's URL.

If the newly added instance stays in the Unknown status for some time, it typically indicates that the IDCS Application provisioning may have failed. VB Studio added the Oracle Cloud Applications instance but can't access it. In such a case, click Actions Three horizontal dots and select Remove to remove the Oracle Cloud Applications instance from the environment, and then click Add to add it again.

Add a Connection to Oracle Cloud Applications of Another Identity Domain
  1. In the navigation menu, click Environments Environments.
  2. Select an existing environment or create one.
    To create an environment, click + Create Environment. In Environment Name and Description, enter a unique name and description, and click Create.
  3. In the Service Instances tab, click + Add Instance.
  4. In the Add Service Instances dialog box, select the Oracle Cloud Applications option button.
  5. Under Authentication Method, select the Application Credentials option.
  6. In Base URL, enter the base Oracle Cloud Application's URL.
  7. In Instance Name, if required, update the instance's display name. The name will be displayed in the Service Instances tab.
  8. In Username and Password, enter the credentials of a user who can access the Oracle Cloud Applications instance.
  9. Click Add.

Create a Production Branch

Follow your organization's guidelines to create a branch and protect it from unverified changes. To protect the branch, you can set merge restrictions, make the branch private and restrict who can push commits to it, or freeze it.

  1. In the navigation menu, click Git Git.
  2. Click the Refs view and then click Branches Branches.
  3. From the Repositories drop-down list, select the repository.
  4. Click + Create Branch.
  5. In the New Branch dialog box, in Name, enter the branch name. From the Base drop-down list, select the master branch as the base branch.
  6. Click Create.

After creating the production branch, if you want to set merge restrictions on it, see Set Review and Merge Restrictions on a Repository Branch. To freeze the branch or make it private, or set other restrictions, see Protect a Branch.

Create and Configure Production Build Jobs

You need to set up some packaging and deployment jobs before you can deploy app extensions to your Oracle Cloud Application's production instance. This topic explains how to do that.

To configure this job: See this:
Migrate Oracle Cloud Application's customization data from the source development instance to the target production instance Create and Configure Jobs to Migrate Your Oracle Cloud Application’s Customizations
Package app extension for the Oracle Cloud Application's production instance Create the Production Packaging Build Job
Deploy the packaged app extension artifact to the Oracle Cloud Application's production instance Create the Production Deployment Build Job
(Optional) Restrict who can see or edit the production build jobs or run their builds Configure a Job's Privacy Setting
Configure pipelines and run them Set Up Production Build Pipelines and Run Production Pipelines and Jobs
Before You Configure Build Jobs and Pipelines

Here are some things you need to know and do before you configure and run build jobs and pipelines:

  • Get the access credentials of an Oracle Cloud Applications user who can connect and deploy to the production instance.
  • Follow your organization’s best practices to manage and migrate customizations from the Oracle Cloud Applications development instance (also called as the source instance) to the Oracle Cloud Applications production instance (also called as the target instance). See the Oracle Cloud Applications documentation for more information about migrating customizations.
  • To migrate customizations, VB Studio provides these Customization Set Migration (CSM) build steps in jobs:
    Add this build step: To:
    Export Data Generate the migration set from the source Oracle Cloud Applications instance and creates the customization set ID. The customization set ID is required by other CSM build steps.
    Import Data Import the generated migration set from the source Oracle Cloud Applications instance to the target Oracle Cloud Applications instance.

    When you import customizations, the target Oracle Cloud Applications instance creates an internal sandbox to test the migrated customizations. This build step gets the sandbox ID from the target Oracle Cloud Applications instance and displays it the build's log.

    Abort Migration Delete the generated migration set.
    Apply Migration Apply and save the imported migration set to the target instance.
    Restore Migration Restore the target Oracle Cloud Applications instance to the state before you applied the migration set.

    While configuring CSM build jobs, add only one CSM build step in each job.

  • Make sure that the source and target instances are of the same release, with the same standard and one-off patches applied to both environments.
  • Ensure that your source Oracle Cloud Applications instance’s sandboxes are published.
  • On your source Oracle Cloud Applications instance's Migration page, ensure that the Target Instance URL points to the target Oracle Cloud Applications instance's URL.

    Here's an example of an Oracle Cloud Applications migration page:

  • When you export customizations from an Oracle Cloud Applications instance, it generates a unique customization set ID. The CSM export job displays this ID in its build log.
  • The CSM import, abort, apply, and restore jobs require the customization set ID to run. If you run these jobs manually, you must provide the customization set ID manually. If you run these jobs in the same pipeline with the CSM export job, the CSM jobs pick the customization set ID automatically through pre-defined build parameters.
  • When you import customizations, the target Oracle Cloud Applications instance creates a sandbox that you can use to test the imported customizations before you apply them.
  • In the development packaging job, if you changed the default artifact's file name, get the new name and its path.
  • If you configured the development packaging job to overwrite the application's version defined in visual-application.json, get the version. You'll configure the production's packaging job to use the same version.

To deploy your app extension to the Oracle Cloud Applications production instance, you'll create these jobs and pipelines:

  • Separate jobs to export, import, abort, apply, and restore CSM data
  • A packaging job that uses the CSM import job's sandbox ID as input parameter and generates artifact that you can deploy to the Oracle Cloud Applications production instance's sandbox.
  • Production packaging and deployment jobs to deploy app extension to the mainline
  • A pipeline to deploy app extension and migrate the CSM data from the Oracle Cloud Applications development instance to the Oracle Cloud Applications production instance's sandbox
  • A pipeline to package and deploy app extension to the Oracle Cloud Applications production instance's mainline.
Create and Configure Jobs to Migrate Your Oracle Cloud Application’s Customizations

Before you deploy your app extension to the Oracle Cloud Application's production instance, you should migrate your Oracle Cloud Application's customization data from the development instance (also called as the source instance) to the production instance (also called as the target instance).

You can migrate the customizations manually from the source Oracle Cloud Applications instance's Customization Migration page to the target instance, or configure Customization Set Migration (CSM) builds jobs in VB Studio to automate the migration process.

Configure a Job to Export Customization

Configure a job to generate the outbound migration set from the source Oracle Cloud Applications instance.

  1. In the navigation menu, click Builds Builds.
  2. In the Jobs tab, click + Create Job.
  3. In the New Job dialog box, in Name, enter a unique name.
  4. In Description, enter the job's description.
  5. In Template, select the System Default OL7 for Visual Builder template.
  6. Click Create.
  7. Click Configure Configure.
  8. Click the Steps tab.
  9. From Add Step, select Customization Set Migration, and then select Export Data.
  10. In Source Instance, select the environment that points to the Oracle Cloud Application's source instance.
  11. (Optional) In ID Parameter Name, enter a parameter name for the customization set. By default, it's set to CUSTOMIZATION_SET_ID.
    When a build runs, the job generates a unique customization set ID, assigns it to the parameter name defined in ID Parameter Name, and then passes the parameter to the downstream jobs when the CSM jobs run in a pipeline. The downstream jobs can access the parameter's value by calling it in the $<PARAMETER_NAME> or ${<PARAMETER_NAME>} format.

    If you change the parameter name, note it down. You'll need it when you configure other CSM jobs.

  12. In Name and Description (optional), enter a name and description for the customization set.
  13. In Username and Password, enter the credentials of an IDCS user who is also an Oracle Cloud Applications user.
  14. Click Save.
When you run a build of this job, open the build's log to note the customization set ID.

Here's an example:

[2020-07-01 08:00:00] Build scheduled. Build started by pipeline CSM
[2020-07-01 08:00:00] Build task id: a1b2c123-abc1-12d3-6789-5bc4d76531f2
.
.
.
[2020-07-01 08:01:35] Status: Export Started
[2020-07-01 08:01:35] Customization Migration Set ID is 1239873457659876
[2020-07-01 08:01:39] IN_PROGRESS...
[2020-07-01 08:30:02] SUCCESS...
[2020-07-01 08:35:10] CREATED...
.
.
.
[2020-07-01 09:30:10] 2020-07-01 08:36:02.990: The outbound migration of CRM common objects completed successfully.
[2020-07-01 09:35:10] === End CSM Export Execution ===
Executor log size 4.6 KB (4,558)
[2020-07-01 09:35:12]
[2020-07-01 09:35:12] Build completed.
[2020-07-01 09:35:12] Status: DONE Result: SUCCESSFUL Duration: 35 min

After a successful build, if you want to view details of the exported migration set or download it, open the source Oracle Cloud Applications instance's Migration page and click the Outgoing tab. You don't need to download it if you plan to use the CSM import job to import customizations.

Here's an example of the Migration page:

Outgoing tab on the Oracle Apps Migration page with the migration set's details
Configure a Job to Import Customization

Configure a job to import the migration set to the target Oracle Cloud Applications instance.

When a build of this job runs, it requires the unique customization set ID generated by the CSM export job. If you're not planning to run this job in a pipeline with the CSM export job, you'll need to provide the customization set ID manually.
  1. In the navigation menu, click Builds Builds.
  2. In the Jobs tab, click the CSM export job.
  3. Click Configure.
  4. Click the Steps tab and note the Customization Set ID field's parameter name.
  5. Click Cancel.
  6. Return to the Jobs tab and click + Create Job.
  7. In the New Job dialog box, in Name, enter a unique name.
  8. In Description, enter the job's description.
  9. In Template, select the System Default OL7 for Visual Builder template.
  10. Click Create.
  11. Click Configure Builds.
  12. If you plan to run this job manually and not in a pipeline with the CSM export job, add a build parameter to accept the customization set ID at runtime. Ignore this step if this job runs in a pipeline with the CSM export job.
    1. Click the Parameters tab.
    2. From Add Parameter, select String Parameter.
    3. In Name, enter the Customization Set ID parameter name you copied in Step 4.
      If you didn’t change the default parameter name, enter CUSTOMIZATION_SET_ID.
    4. (Optional) In Description, enter the parameter’s description. For example: Enter the customization ID copied from the CSM Export job’s build log.
  13. Click the Steps tab.
  14. From Add Step, select Customization Set Migration, and then select Import Data.
  15. In Target Instance, select the environment that points to the Oracle Cloud Application's target instance.
  16. In Customization Set ID, enter the Customization Set ID parameter name you copied in Step 4 in the $<PARAMETER_NAME> or ${<PARAMETER_NAME>} format. By default, it's set to ${CUSTOMIZATION_SET_ID}.
    When a build of this job runs, the job gets the unique customization set ID generated by the CSM export job. If no ID is found, it fails.
  17. In Sandbox Parameter Name, enter a parameter name for the sandbox. By default, it's set to SANDBOX.
    When a build runs, VB Studio creates a sandbox on the Oracle Cloud Application's target instance with a unique sandbox ID. The job assigns the ID to the parameter name defined in Sandbox Parameter Name, and then passes the parameter to a downstream job when the job runs in a pipeline. The downstream job can access the parameter's value by calling it either in the $<PARAMETER_NAME> or ${<PARAMETER_NAME>} format.
  18. In Username and Password, enter the credentials of an IDCS user's credentials who is also an Oracle Cloud Applications user.
  19. Click Save.
When you run a build of this job, open the build's log to note the sandbox ID.

Here's an example:

[2020-07-01 09:36:13] Build scheduled. Build started by pipeline CSM [Upstream Job: CSM-Release1.0.1 Build: #1]
[2020-07-01 09:36:13] Build task id: d2c1b321-cba8-45e5-2233-2dd3a25678a1
.
.
.
[2020-07-01 09:36:32] Customization Set ID = 1239873457659876
[2020-07-01 09:36:49] Status: Import started
.
.
.
[2020-07-01 09:42:32] IMPORT_IN_PROGRESS...
[2020-07-01 09:43:02] CSM Sandbox Id: a1200cca5d1446b1bdca14938ed04527
[2020-07-01 10:01:46] IMPORT_SUCCESS...
.
.
.
[2020-07-01 10:07:44] === End CSM Import Execution ===
Executor log size 7.6 KB (7,616)
[2020-07-01 10:07:46]
[2020-07-01 10:07:46] Build completed.
[2020-07-01 10:07:46] Status: DONE Result: SUCCESSFUL Duration: 31 min

After a successful build, to view details of the imported migration set, open the target Oracle Cloud Applications instance's Migration page and click the Incoming tab.

Here's an example:

Incoming tab on the Oracle Apps Migration page with the imported migration set's details

To test the imported customizations on the newly created sandbox, click Preview.

Configure a Job to Abort Customization Migration

If for some reason your CSM import job fails, configure a job to abort the migration process.

This job requires the unique customization set ID generated by the CSM export job. If you're not planning to run this job in a pipeline with the CSM export job, you'll need to provide the customization set ID manually.
  1. In the navigation menu, click Builds Builds.
  2. In the Jobs tab, click the CSM export job.
  3. Click Configure.
  4. Click the Steps tab and note the Customization Set ID field's parameter name.
  5. Click Cancel.
  6. Return to the Jobs tab and click + Create Job.
  7. In the New Job dialog box, in Name, enter a unique name.
  8. In Description, enter the job's description.
  9. In Template, select the System Default OL7 for Visual Builder template.
  10. Click Create.
  11. Click Configure Builds.
  12. If you plan to run this job manually and not in a pipeline with the CSM export job, add a build parameter to accept the customization set ID at runtime. Ignore this step if this job runs in a pipeline with the CSM export job.
    1. Click the Parameters tab.
    2. From Add Parameter, select String Parameter.
    3. In Name, enter the Customization Set ID parameter name you copied in Step 4.
      If you didn’t change the default parameter name, enter CUSTOMIZATION_SET_ID.
    4. (Optional) In Description, enter the parameter’s description. For example: Enter the customization ID copied from the CSM Export job’s build log.
  13. Click the Steps tab.
  14. From Add Step, select Customization Set Migration, and then select Abort Migration.
  15. In Target Instance, select the environment that points to the Oracle Cloud Application's target instance.
  16. In Customization Set ID, enter the Customization Set ID parameter name you copied in Step 4 in the $<PARAMETER_NAME> or ${<PARAMETER_NAME>} format. By default, it's set to ${CUSTOMIZATION_SET_ID}.
    When a build of this job runs, the job gets the unique customization set ID generated by the CSM export job. If no ID is found, it fails.
  17. In Username and Password, enter the credentials of an IDCS user's credentials who is also an Oracle Cloud Applications user.
  18. Click Save.
Configure a Job to Apply and Save the Customization Migration

After your import job is successful and you have manually tested the changes on the target Oracle Cloud Applications instance, configure a migration job to save the migration set.

This job requires the unique customization set ID generated by the CSM export job. If you don't know the ID while configuring this job, use a build parameter to accept the customization set ID at runtime. Don't add this job in the pipeline with the CSM import job, but run this job manually after you've verified all imported customizations on the target Oracle Cloud Applications instance.
  1. In the navigation menu, click Builds Builds.
  2. In the Jobs tab, click the CSM export job.
  3. Click Configure.
  4. Click the Steps tab and note the Customization Set ID field's parameter name.
  5. Click Cancel.
  6. Return to the Jobs tab and click + Create Job.
  7. In the New Job dialog box, in Name, enter a unique name.
  8. In Description, enter the job's description.
  9. In Template, select the System Default OL7 for Visual Builder template.
  10. Click Create.
  11. Click Configure Builds.
  12. Click the Parameters tab.
  13. From Add Parameter, select String Parameter.
  14. In Name, enter the Customization Set ID parameter name you copied in Step 4.
    If you didn’t change the default parameter name, enter CUSTOMIZATION_SET_ID.
  15. (Optional) In Description, enter the parameter’s description. For example: Enter the customization ID copied from the CSM Export job’s build log.
  16. Click the Steps tab.
  17. From Add Step, select Customization Set Migration, and then select Apply Migration.
  18. In Target Instance, select the environment that points to the Oracle Cloud Application's target instance.
  19. In Customization Set ID, enter the Customization Set ID parameter name you copied in Step 4 in the $<PARAMETER_NAME> or ${<PARAMETER_NAME>} format. By default, it's set to ${CUSTOMIZATION_SET_ID}.
    When a build of this job runs, the job gets the unique customization set ID generated by the CSM export job. If no ID is found, it fails.
  20. In Username and Password, enter the credentials of an IDCS user's credentials who is also an Oracle Cloud Applications user.
  21. Click Save.
Configure a Job to Restore Migration

Configure a job to restore the target Oracle Cloud Applications instance to the state before the migration set was applied.

This job requires the unique customization set ID generated by the CSM export job. If you don't know the ID while configuring this job, use a build parameter to accept the customization set ID at runtime. Don't add this job in the pipeline with the CSM import job, but run this job manually after you've verified all imported customizations on the target Oracle Cloud Applications instance.
  1. In the navigation menu, click Builds Builds.
  2. In the Jobs tab, click the CSM export job.
  3. Click Configure.
  4. Click the Steps tab and note the Customization Set ID field's parameter name.
  5. Click Cancel.
  6. Return to the Jobs tab and click + Create Job.
  7. In the New Job dialog box, in Name, enter a unique name.
  8. In Description, enter the job's description.
  9. In Template, select the System Default OL7 for Visual Builder template.
  10. Click Create.
  11. Click Configure Builds.
  12. Click the Parameters tab.
  13. From Add Parameter, select String Parameter.
  14. In Name, enter the Customization Set ID parameter name you copied in Step 4.
    If you didn’t change the default parameter name, enter CUSTOMIZATION_SET_ID.
  15. (Optional) In Description, enter the parameter’s description. For example: Enter the customization ID copied from the CSM Export job’s build log.
  16. Click the Steps tab.
  17. From Add Step, select Customization Set Migration, and then select Restore Migration.
  18. In Target Instance, select the environment that points to the Oracle Cloud Application's target instance.
  19. In Customization Set ID, enter the Customization Set ID parameter name you copied in Step 4 in the $<PARAMETER_NAME> or ${<PARAMETER_NAME>} format. By default, it's set to ${CUSTOMIZATION_SET_ID}.
    When a build of this job runs, the job gets the unique customization set ID generated by the CSM export job. If no ID is found, it fails.
  20. In Username and Password, enter the credentials of an IDCS user's credentials who is also an Oracle Cloud Applications user.
  21. Click Save.
Create the Production Sandbox Packaging Job

The packaging job generates an app extension artifact that's ready to deploy to the Oracle Cloud Applications production instance's sandbox.

To you configure this job, you'll need the sandbox parameter name defined in the CSM import job.
  1. In the navigation menu, click Builds Builds.
  2. In the Jobs tab, click the CSM import job.
  3. Click Configure.
  4. Click the Steps tab and note the Sandbox Parameter Name field's parameter name.

    Here's an example:

    Parameter name defined in the CSM import job
  5. Click Cancel.
  6. Return to the Jobs tab and click + Create Job.
  7. In the New Job dialog box, in Name, enter a unique name.
  8. In Description, enter the job's description.
  9. In Template, select the System Default OL7 for Visual Builder template.
  10. Click Create.
  11. Click Configure Builds.
  12. Click the Git tab.
  13. From the Add Git list, select Git.
  14. In Repository, select the Git repository. In Branch or Tag, select the production branch.
  15. Click the Steps tab.
  16. From Add Step, select Application Extension, and then select Package.
  17. (Optional) If you want to change the artifact file's name, in Artifact, enter the new name. By default, it is extension.vx.
  18. In Extension Version, enter the parameter name you noted in Step 4 in the $<PARAMETER_NAME> or the ${<PARAMETER_NAME>} format.
    If you didn’t change the default parameter's name in the CSM import job, enter $SANDBOX.
  19. Click the After Build tab.
  20. From Add After Build Action, select Artifact Archiver.
  21. In Files to archive, enter the build artifact name. You can also use wild characters. For example, *.vx.
  22. If you want to discard the build's old artifacts, click Settings the Gear icon. In the General tab, select the Discard Old Builds check box and specify the discard options.
  23. Click Save.
Create the Production Packaging Build Job

The packaging job generates an app extension artifact that's ready to deploy to the mainline.

  1. In the navigation menu, click Builds Builds.
  2. In the Jobs tab, click + Create Job.
  3. In the New Job dialog box, in Name, enter a unique name.
  4. In Description, enter the job's description.
  5. In Template, select the System Default OL7 for Visual Builder template.
  6. Click Create.
  7. Click Configure Configure.
  8. Click the Git tab.
  9. From the Add Git list, select Git.
  10. In Repository, select the Git repository. In Branch or Tag, select the production branch.
  11. Click the Steps tab.
  12. From Add Step, select Application Extension, and then select Package.
  13. (Optional) If you want to change the artifact file's name, in Artifact, enter the new name. By default, it is extension.vx.
  14. (Optional) If you configured the development packaging job to overwrite the app extension's default version defined in the visual-application.json file, specify the same version in Extension Version.
  15. Click the After Build tab.
  16. From Add After Build Action, select Artifact Archiver.
  17. In Files to archive, enter the build artifact name. You can also use wild characters. For example, *.vx.
  18. If you want to discard the build's old artifacts, click Settings the Gear icon. In the General tab, select the Discard Old Builds check box and specify the discard options.
  19. Click Save.
Create the Production Deployment Build Job

The deployment job deploys the app extension's artifact that was generated in the packaging job to the Oracle Cloud Application's production instance. Before you create the job, get the access credentials of an IDCS user who can also access the Oracle Cloud Application's production instance.

  1. In the navigation menu, click Builds Builds.
  2. In the Jobs tab, click + Create Job.
  3. In the New Job dialog box, in Name, enter a unique name.
  4. In Description, enter the job's description.
  5. In Template, select the System Default OL7 for Visual Builder template.
  6. Click Create.
  7. Click Configure Configure.
  8. Click the Before Build tab.
  9. From Add Before Build Action, select Copy Artifacts.
  10. In From Job, select the packaging job that generated the app extension's artifact.
  11. In Which Build, select the build that generated the artifact.
  12. Leave other fields with their default or empty values.
  13. Click the Steps tab.
  14. From Add Step, select Oracle Deployment.
  15. In Target Instance, select the environment with the Oracle Cloud Application's production instance.
  16. In Username and Password, enter the credentials of an IDCS user who is not only an Oracle Cloud Applications user, but one who can connect and deploy to the Oracle Cloud Application's production instance.
  17. In Build Artifact, enter the same artifact name that you used in the packaging build step.
  18. Click Save.
Configure a Job's Privacy Setting

The project owner can mark a job as private to restrict who can see or edit a job's configuration, or run its build:

  1. In the navigation menu, click Project Administration Project Administration.
  2. Click Builds.
  3. Click the Job Protection tab.
  4. From the jobs list, select the job.
  5. Select the Private option.
  6. In Authorized Users, add yourself.
    To add other users, select their names.
  7. Click Save.

A private job shows a Lock Lock icon in the jobs list on the right side of the Job Protection page, in the Jobs tab of the Builds page, and in pipelines.

A private job must be run manually. It won't run if a non-authorized user tries to run the job directly, through an SCM/periodic trigger or a pipeline.

Set Up Production Build Pipelines

After configuring production jobs, create pipelines to export and import customizations, package and deploy the app extension to the production instance's sandbox and the production instance.

To configure this pipeline: See this:
1. Export and import customizations, and then package and deploy the app extension to the Oracle Cloud Application's production instance sandbox.

This pipeline allows you to test the app extension along with migrated customizations in the same sandbox.

Create and Configure the Production Sandbox Pipeline
2. Package and deploy app extension to the Oracle Cloud Application's production instance.

This pipeline allows you to deploy the app extension to the Oracle Cloud Application's production instance.

Create and Configure the Production Pipeline
Create and Configure the Production Sandbox Pipeline

To ensure the CSM and jobs runs automatically in the correct order, create a pipeline and set the dependency.

When you define the pipeline, make sure that the CSM import job runs after the CSM export job is successful. If the CSM import job fails, run the CSM abort migration job. Don't add the CSM apply migration job to the pipeline. You should run it manually after verifying your changes on the target Oracle Cloud Applications instance.
  1. In the navigation menu, click Builds Builds.
  2. Click the Pipelines tab.
  3. Click + Create Pipeline.
  4. In the Create Pipeline dialog box, in Name and Description, enter a unique name and description.
  5. Click Create.
  6. On the design page, from the Jobs list, drag-and-drop the CSM export, import, abort jobs along with the packaging job that packages artifact for the sandbox and the deployment job to the designer area.

    Here's an example:

    Prod jobs
  7. Mouse over the Start node's Gray circle Gray circle on the right of the Start node handle. The cursor icon changes to the + cursor icon. Drag the cursor from the Gray circle Gray circle on the right of the Start node handle to the CSM export job's White circle White circle on the left side of the job node handle. An arrow line appears.
  8. Mouse-over the CSM export job's Blue circle Blue circle on the right side of the job node handle and drag-and-drop the arrow head over the CSM import job's White circle White circle on the left side of the job node handle.
  9. Mouse-over the CSM import job's Blue circle Blue circle on the right side of the job node handle and drag-and-drop the arrow head over the CSM abort job's White circle White circle on the left side of the job node handle.
  10. Click to select the line that that goes from the CSM import job's Blue circle Blue circle on the right side of the job node to the CSM abort job's White circle White circle on the left side of the job node handle.
  11. Click Configure Selected LinkGear icon.
  12. In the Pipeline flow config editor dialog box, from Result Condition, select Failed and click Apply.
    Your pipeline diagram should look like this example:
    Prod pipeline with dependencies set for CSM jobs
  13. Mouse-over the CSM import job's Blue circle Blue circle on the right side of the job node handle and drag-and-drop the arrow head over the package job's White circle White circle on the left side of the job node handle.
  14. Mouse-over the package job's Blue circle Blue circle on the right side of the job node handle and drag-and-drop the arrow head over the deploy job's White circle White circle on the left side of the job node handle.
    Your pipeline diagram should look like this example:
    Prod pipeline with CSM and app extension package and deploy jobs
  15. Click Save.
Create and Configure the Production Pipeline

To ensure the deployment job runs automatically after the packaging job, create a pipeline and set the dependency.

  1. In the navigation menu, click Builds Builds.
  2. Click the Pipelines tab.
  3. Click + Create Pipeline.
  4. In the Create Pipeline dialog box, in Name and Description, enter a unique name and description.
  5. Click Create.
  6. On the design page, from the Jobs list, drag-and-drop the packaging job and the deployment job to the designer area.

    Example:

    Production pipeline jobs
  7. Mouse over the Start node's Gray circle Gray circle on the right of the Start node handle. The cursor icon changes to the + cursor icon. Drag the cursor from the Gray circle Gray circle on the right of the Start node handle to the packaging job's White circle White circle on the left side of the job node handle. An arrow line appears.

    Example:

    Packaging job
  8. Mouse-over the packaging job's Blue circle Blue circle on the right side of the job node handle and drag-and-drop the arrow head over the deployment job's White circle White circle on the left side of the job node handle.

    Example:

    Deploy job
  9. Click Save.

Run Production Pipelines and Jobs

To deploy your app extension to the production instance sandbox and production instance mainline, run production jobs and pipelines.

You should run pipelines and jobs in this order:
  1. Run the production sandbox pipeline to migrate customizations to the production instance's sandbox and deploy the app extension to the same sandbox.
  2. Preview the sandbox and verify imported customizations and test them with the app extension.
  3. After successful verification, run the CSM apply job to save the customizations. To do that, you'll need the customization set ID from the CSM export job.
  4. Run the production pipeline to deploy the app extension to the production instance mainline.

Follow these steps to run pipelines and jobs in the above order:

  1. In the navigation menu, click Builds Builds.
  2. Click the Pipelines tab.
  3. On the right side of the production sandbox pipeline, click Build Build.
    Here's an example:

    Production sandbox pipeline

  4. After the pipeline is successful, verify your imported customizations and the app extension in the production instance's sandbox.

    Open the Oracle Cloud Applications production instance's migration page. Click the Incoming tab and click Preview.

    Here's an example:

    Incoming tab on the Oracle Apps Migration page with the imported migration set's details

    You can only preview those customizations that are sandbox aware, and have no dependency on non-sandbox artifacts. After successful verification, jump to the next step.

  5. Return to VB Studio Builds Builds page and click the Jobs tab.
  6. Open the CSM export job's build log and copy the customization set ID.
    Here's an example:
    [2020-07-01 08:00:00] Build scheduled. Build started by pipeline CSM
    [2020-07-01 08:00:00] Build task id: a1b2c123-abc1-12d3-6789-5bc4d76531f2
    .
    .
    .
    [2020-07-01 08:01:35] Status: Export Started
    [2020-07-01 08:01:35] Customization Migration Set ID is 1239873457659876
    [2020-07-01 08:01:39] IN_PROGRESS...
    [2020-07-01 08:30:02] SUCCESS...
    [2020-07-01 08:35:10] CREATED...
    .
    .
    .
    [2020-07-01 09:35:12] Build completed.
    [2020-07-01 09:35:12] Status: DONE Result: SUCCESSFUL Duration: 35 min
  7. In the Jobs tab, open the CSM apply job and click Build.
  8. In the Build Job dialog box, enter the customization set ID you copied in Step 6 and click Build Now.
  9. Deploy your app extension to the production instance.
    Click the Pipelines tab. For the production pipeline, click Build Build.

    After a successful build, you'll find the deployed application's link in the Deployments tab of the Environments page.

  10. Verify your app extension and customizations in the mainline.
    After the job is successful and customizations are successfully applied, if you want to revert the production instance to the pre-migration state, run a build of the CSM restore job.

After successful deployment, you should inform the Oracle Cloud Applications administrator that the app extension has been pushed to the Oracle Cloud Application's production instance.

Delete an App Extension

If you want to delete an app extension that's deployed to Oracle Cloud Applications, you can do so manually or through a job configuration.

Delete an App Extension From the Development Instance

You can delete an app extension that's deployed to your development Oracle Cloud Applications instance from the the Deployments tab of its environment.

  1. In the navigation menu, click Environments Environments.
  2. Select the Development environment where the app extension is deployed.
  3. Click the Deployments tab.
  4. Expand the base application's name.
  5. For the app extension to delete, click Actions Three horizontal dots and select Delete.
  6. In the confirmation dialog box, click Delete.

Delete an App Extension From the Production Instance

To delete an app extension that's deployed to your production Oracle Cloud Applications instance or an Oracle Cloud Applications instance of another identity domain, configure a build job and run it. You can't delete it manually.

Before you configure the job, get the access credentials of a user who can access the Oracle Cloud Application's instance where the app extension is deployed.
  1. In the navigation menu, click Builds Builds.
  2. In the Jobs tab, click + Create Job.
  3. In the New Job dialog box, in Name, enter a unique name.
  4. In Description, enter the job's description.
  5. In Template, select the System Default OL7 for Visual Builder Build VM template.
  6. Click Create.
  7. On the Job Configuration page, click Configure Configure.
  8. Click the Steps tab.
  9. From Add Step, select Application Extension, and then select Delete.
  10. In Instance, select the Oracle Cloud Applications instance where the application is deployed.
  11. In Username and Password, enter the credentials of an IDCS user who is not only an Oracle Cloud Applications user, but one who can connect and undeploy from the Oracle Cloud Application's production instance.
  12. In Base Application, Name, and Version, enter the app extension's base application, name, and version.
    You can find the details on the Deployments tab of the environment where the app extension is deployed.

    Example:

  13. Click Save.
  14. To run a build, click Build Now.