3 Set Up VB Studio for CI/CD

The build system in VB Studio enables your organization's developers to create jobs to build, package, test, and deploy apps.

To build their applications, your organization's developers define build jobs in their VB Studio projects. A job is a configuration that defines where the application's source files are, commands to run, how to generate and package artifacts, run test scripts, and where to deploy the application's artifacts.

To run builds of jobs, your organization's developers need some compute instances with operating systems and software packages installed. For example, to build Node.js applications, they'll need Node.js installed on an OCI VM compute instance and use it to run their CI/CD builds.

What are Build Executors and Build Templates?

Builds in a build system run in build executors. The operating system and software packages required to run builds on build executors are defined in build templates.

In VB Studio, builds run either in VM build executors (VM executors, for short) or in Docker executors. Build executor templates define the operating system and software packages for VM executors, and Docker images define the operating system and software packages for Docker executors.

Before your developers create jobs and run builds, you must decide whether to run your organization’s builds on VM executors or on Docker executors, and then create the required resources. To help you decide, learn what VM executors and Docker executors are, how builds run on them, and the differences between both executors.

Build Executor Templates

A build executor template defines the operating system and the software packages your organization's members need to run builds on VM executors.

VB Studio offers some executor templates out-of-the-box that your organization's users can use. You can create more executor templates if the default executor templates don’t meet your requirements. See Create and Manage Build Executor Templates.

Some key points to remember about executor templates:

  • Each executor template contains an Oracle Linux operating system, Java and some required software packages. If required, you can install more software packages available in the VB Studio Software Catalog.
  • You can't add a software package or a version that's not available in the VB Studio Software Catalog.
  • In the Software Catalog, some software packages have multiple versions. You can add only one version to the executor template. However, you can add multiple versions of Java to an executor template.
  • Executor templates don't consume storage space or increase your cost. You can create as many executor templates as you require.
  • Some software packages, such as Fn and Oracle Jet, require other software packages in the same executor template. When you add these software packages, VB Studio prompts you to add the dependent software packages.
  • Don't add unnecessary software packages to an executor template. The more software packages you add to an executor template, the more storage space its VM executors consume when they run builds.

VM Build Executors

VM build executors are OCI VM compute instances dedicated to run builds of jobs your organization’s members define in VB Studio projects.

A VM executor is always associated with a build executor template. When your organization's members create jobs, they simply associate the appropriate executor template with the job. When the job's build triggers, VB Studio runs the build on a VM executor that's associated with the executor template.

A VM executor starts automatically when a build of a job that references its executor template triggers, and changes its state accordingly. Remember, a VM executor costs you only when it is active, runs a build, or is preparing itself to run a build.

This table describes the different states of a VM executor:

State What does it mean? Does it cost?
Pending After you add a VM executor, it is in this state until it runs a build.

When a VM executor starts from this state, it takes some time to install the operating system and software packages.

No
Starting The VM executor is starting.

If the VM executor starts from the Pending state, VB Studio installs the operating system and software packages on the VM executor's assigned boot volume. This takes time.

If the VM executor starts from the Stopped state, VB Studio uses software packages and the operating system from the previous run's saved boot volume.

VB Studio periodically checks all executor templates for updates. If an executor template is found with new updates, VB Studio deletes the preserved boot volume of all stopped VM executors that reference the executor template and changes their status from Stopped to Pending.

Yes
Available Operating system and software packages are installed, and the VM executor is ready to run a build. Yes
In Use The VM executor is running a build.

After the running build is complete, the VM executor returns to the Available state.

Yes
Stopping The VM executor is shutting down.

Before shutting the VM executor down, VB Studio saves the operating system and software packages to the VM executor's assigned boot volume.

Yes
Stopped The VM executor has shut down. No
Error There's a hardware or a software issue on the VM executor. Check the VM executor's log to find more about the cause. No
Destroying The VM executor is being deleted. No
Error Unrecoverable

This state is most likely caused when a customer changes the compute account OCI access so that control of the VM executor OCI resources are blocked.

This state can also occur if the build executor is in an Error status and VB Studio is not able to remove all used OCI resources or if there is a temporary network glitch during the removal process.

VB Studio tries once a day to clear OCI resources used by the VM executor in the Error Unrecoverable state. To manually clear these resources, you can also use the Try to Reset action.

No

Some key points to remember about VM executors:

  • After creating a VB Studio instance, if no VM executors exist, VB Studio creates a VM executor when you create your first project. The VM executor is associated with the System Default OL7 for Visual Builder executor template in the connected OCI account.
  • When you add a VM executor manually, you must specify the executor template, choose an OCI region from the connected OCI account's subscribed regions, specify the OCI Compute VM's shape, and select the VCN (optional).
  • Your OCI account may have some Compute instance limits set. When you add a VM executor, VB Studio looks into the specified OCI region's Availability Domains, finds available OCPUs with the specified shape, calculates the number of Compute instances, and displays the number of Compute VM instances you can add from your OCI account's set limit.

    Here's an example of the VB Studio's Add VM Build Executors dialog box that displays the number of VM executors you can add with the VM.Standard.E2.1 shape:

    Add Build VM dialog box with a message about number of VMs available
  • When you add a VM executor, it is added in the Pending state and doesn't cost you. You can add more VM executors than the number of available Compute VM instances.

    Remember, VB Studio creates a Compute VM instance when a VM executor starts, not when you add it.

  • You can add standard and legacy VM shapes with these series:
    • VM.Standard1
    • VM.Standard2
    • VM.Standard.E2
    • VM.Standard.E3.Flex
    • VM.Standard.E4.Flex
    • VM.Standard.B1

    For more details about the above shapes, see Standard shapes and Legacy shapes.

  • A VM executor can run one build at a time.
  • When a job's build runs, if VB Studio finds multiple VM executors allocated for the job's executor template, it runs the build on any one of them. You can't choose or specify a particular VM executor to use for the build.
  • If you expect your organization's members to run parallel builds of jobs that refer to a common executor template, add multiple VM executors for that executor template. If you're not sure, you can start with one VM executor and add more VM executors later.
  • While adding multiple VM executors that reference a common executor template:
    • Add all VM executors in the same VCN. If you add VM executors with a common executor template in different VCNs (such as some VM executors in the default VCN and other VM executors in a custom VCN), your builds might behave unpredictably.
    • Add all VM executors with the same shape. If you add VM executors with different shapes (such as some VM executors of the VM.Standard1.1 shape and some of the VM.Standard2.8 shape), your builds may run slow or fast depending on the VM executor it runs on.
  • After a build is complete, a VM executor continues to be in the Available state and waits for some time for any queued builds. This wait time is called sleep timeout. If no builds run on the VM executors in this duration, VB Studio automatically stops the VM executors.
  • The more VM executors you have running at a specific time, the higher the cost. To minimize the higher cost, configure the sleep timeout to stop inactive VM executors after some time. The sleep timeout setting applies to all VM executors of your organization.

What Happens When a Build Runs in a Build Executor?

When a job's build runs:
  1. VB Studio checks the job's build executor template and then finds a VM executor allocated to it.

    If one or more VM executors are found, VB Studio selects a VM executor to run the build in this order:

    • If a VM executor is in the Available state, VB Studio runs a build on it.
    • If no VM executors are in the Available state, VB Studio starts a Stopped VM executor, installs the operating system and the executor template's software packages from the saved boot volume, and then runs the build on it.
    • If no VM executors are in the Available or the Stopped state, VB Studio starts a Pending VM executor, installs the operating system and the executor template's software packages, and then runs the build on it.
    • If all VM executors are running builds, VB Studio waits for a VM executor to complete its build, and then runs a build on it.

    VB Studio selects any VM executor if multiple VM executors are found in the same state. You can't choose or specify a particular VM executor to use for the build.

    If no VM build executors are found, VB Studio fails the build.

  2. VB Studio checks the job's configuration and runs the commands in the specified order.
  3. After the build is complete, VB Studio copies any generated artifacts to the configured OCI Object Storage bucket.
  4. The VM executor waits for some time for any queued builds. If no builds run during the wait time period, the VM executor stops.

    Before stopping the VM executor, VB Studio saves the operating system and software packages to the VM executor's assigned boot volume.

Docker Build Executors and Docker Images

A Docker image defines the operating system and software packages your org's members need to run builds on a Docker executor. You can either import a Docker image from an external Docker registry, such as DockerHub, or create it from a build executor template.

Unlike a VM executor, a Docker executor is not directly associated with any specific VM. When your organization's members create jobs, they simply associate a Docker image as a build template with the job. When the job's build triggers, VB Studio runs the build on any Docker deployment VM.

Some key points to remember about Docker images:

  • When you create an image from a build executor template, VB Studio creates a new Docker image by installing the software configured in that template. When you create an image from a registry, VB Studio pulls the image from the registry, adds a build agent, and creates a new image.
  • You can specify the maximum number of executors that can be created from the image.
  • You can create as many Docker images as you require, as long as the Management VM has enough space.

Docker Deployment VMs and Docker Executors

Docker executors run in a Docker deployment VM. Like a VM build executor, a Docker deployment VM is an OCI VM compute instance dedicated to run builds.

To run builds in Docker executors, you add Docker deployment VMs. A Docker executor can run only one build at a time, but a Docker deployment VM can run multiple builds simultaneously, depending on how many Docker executors are configured for the deployment VM. The maximum number of Docker executors that can be run by a given Docker deployment VM is configurable between 1 and 10.

When a job's build is triggered, VB Studio starts a Docker deployment VM if it is in a stopped state, creates a Docker executor in it, and builds the job using the executor.

Remember, a Docker deployment VM costs you only when it is in running state and actively building jobs. When the Docker deployment VM is idle and not building jobs, it will be put to sleep. You can configure the number of minutes the deployment VM remains idle before it is put to sleep.

This table describes the different states of a Docker deployment VM:

State What does it mean? Does it cost?
Pending After you add a Docker deployment VM, it is in this state until the management VM finishes building, and then it will start automatically. No
Starting The Docker deployment VM is starting.

If the Docker deployment VM starts from the Pending state, VB Studio installs the operating system and software packages on the Docker deployment VM's assigned boot volume. This takes time.

If the Docker deployment VM starts from the Stopped state, VB Studio uses software packages and the operating system from the previous run's saved boot volume.

Yes
Ready The operating system and Docker agent are installed and started and the VM is ready to deploy Docker executors. Yes
Stopping The Docker deployment VM is shutting down.

Before shutting the Docker deployment VM down, VB Studio saves the operating system and software packages to the Docker deployment VM's assigned boot volume.

Yes
Stopped The Docker deployment VM has shut down. No
Error There's a hardware or a software issue on the Docker deployment VM. Check the Docker deployment VM's log to find more about the cause. No

Some key points to remember about Docker deployment VMs and Docker executors:

  • Once created, the Docker Management VM is always running and costs you 24-7. To keep your costs lower, if you are planning to run fewer builds with fewer images, select a smaller shape with fewer OCPUs.
  • To run builds in Docker executors, you add Docker deployment VMs and specify the number of Docker executors it can run, select the OCI region from the connected OCI account's subscribed regions, the OCI Compute VM's shape, and optionally the VCN.
  • Your OCI account may have some Compute instance limits set. When you add a Docker deployment VM, VB Studio looks into the specified OCI region's Availability Domains, finds available OCPUs with the specified shape, calculates the number of Compute instances, and displays the number of Compute VM instances you can add from your OCI account's set limit.
  • When you add your first Docker deployment VM, VB Studio adds one more VM, called the Docker Management VM, to manage Docker images.
  • The Docker Management VM is responsible for creating Docker images and Docker executors and for deploying images to Docker executors.
  • When you create your first Docker deployment VM, the Docker Management VM is also created with the same shape.
  • VB Studio provides a default shape selection for the management VM. This default is only a recommendation. Some things to consider:
    • You could still choose a lower-end configuration for your specific purposes, but the default is what VB Studio determines to be the optimal powered VM for the management VM. Although a low-end VM (such as Standard 1.1 with 1 CPU and 8 GB of memory) could be used for Docker Image management in scenarios that have few Executor templates and create just a few Docker images, it is better to use the default recommendation. If you try to select a lower-powered VM than what is recommended, you'll see a warning.
    • For scenarios that have several Executor templates and will create several Docker images, using a high-end VM (such as VM.Standard.E3.Flex with 4 OCPU and 32 GB RAM) instead is recommended. Using a low-end VM in demanding scenarios will severely hamper overall performance.
  • If a Docker deployment VM is not in use, it will eventually time out and enter the Stopped state, which has no associated cost to you.
  • The higher the number of Docker deployment VMs running Docker executors at any specific time, the higher the associated cost. To minimize the higher cost, you should configure the sleep timeout to stop inactive Docker deployment VMs after some period of time. The default timeout is 300 minutes. The sleep timeout setting will be applied to all your organization's Docker deployment VMs.

What Happens When a Build Runs on a Docker Executor?

  1. VB Studio checks the Docker image that corresponds with the template configured in the job and finds whether a build of the image has run before.

    If this is the Docker image's first build, it finds a Docker deployment VM to run the image in an executor, and then it downloads the image from the Docker Management VM if the image doesn't already exist in the VM.

    If one or more Docker deployment VMs are found, VB Studio selects a Docker deployment VM to run the build in this order:

    • If a Docker deployment VM is in the Ready state and has at least one Docker executor that's not running, VB Studio runs the build on it. A Docker deployment VM is full if VB Studio has already deployed the maximum number of executors on that VM.
    • If no Docker deployment VMs are in the Ready state, VB Studio starts a Stopped Docker deployment VM and runs the build on one of its Docker executors.
    • If all Docker executors of all Docker deployment VMs are running builds, VB Studio waits for a Docker executor to complete its build, and then runs a build on it.

    If this is not the Docker image's first build, VB Studio finds the Docker deployment VM that ran the image's Docker executor earlier and uses it to run the build again, unless the Docker deployment VM is full. If all Docker executors of the Docker deployment VM are busy running builds, VB Studio selects another Docker deployment VM to run the build in the above described order.

  2. VB Studio checks the job's configuration and runs the commands in the specified order.
  3. After the build is complete, VB Studio copies any generated artifacts to the configured OCI Object Storage bucket.
  4. The Docker deployment VM waits for some time for any queued builds. If no builds run during the wait time period, the Docker deployment VM stops.

    Before stopping the Docker deployment VM, VB Studio saves the Docker image to the Docker deployment VM's assigned boot volume.

VB Studio's Free VM Build Executor

The free VM build executor is available in the VB Studio's built-in free account and runs on VB Studio's default VCN.

A VM executor can run only one build at a time. The more VM executors you have available, more builds your organization's members can run at the same time. As the built-in free account offers only one VM executor, your VB Studio organization members can run only one build at a time. If members trigger multiple builds while a build is already running, they must wait until the build running on the VM executor is complete. The VM executor then runs the queued builds on a first-come-first served basis.

The default executor template, called System Default OL7 for Visual Builder, includes the necessary software to run extension and visual application builds. You can't change the default executor template's configuration. This table lists the software defined in System Default OL7 for Visual Builder:

Software Version
Oracle Linux operating system 7.x
Node.js 14.x
Oracle Java SE 1.8.x
Ant 1.9.6
C++ Compiler (cpp/gcc) 4.8.x
Firefox 78.7.x (or later)
Git 2.2.x (or later)
Jq 1.5.x (or later)
JUnit 4 4.11 (or later)
Maven 3.6.x
Python2 (including Virtualenv) 2.7.x
Ruby 2.0.0p648
Xvfb 1.20.x

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

Run VM Build Executors in Virtual Cloud Network

A Virtual Cloud Network (VCN) is a software-defined network that you set up in the OCI data centers of a region. A subnet is a subdivision of a VCN. A VM build executor always runs in a VCN's public subnet.

You can choose to run a VM executor in the VB Studio compartment's VCN or in another compartment's VCN. Run the VM executor in the VB Studio compartment's VCN if you don't have a VCN or want to use the default option without any additional configuration. Run the VM executor in another compartment's VCN if you want the VM executor to access Oracle Cloud services running in that compartment's VCN.

Note:

You can't run VM executors in a VCN if VB Studio is connected to the built-in free account. To use another compartment's VCN, configure VB Studio to connect to an OCI account.

Use VB Studio's Default VCN

VB Studio compartment's VCN, also called the default VCN, is automatically created for you when the first VM build executor that uses it starts.

VB Studio's default VCN is called vbs-executor-vcn and resides in the VB Studio's compartment. When a VM executor that uses the default VCN starts, VB Studio checks the OCI compartment for the default VCN. If it doesn't exist, VB Studio creates a VCN called vbs-executor-vcn with CIDR block 10.0.0.0/16 and public subnets in all availability domains. If the VCN exists, VB Studio uses it to run your VM executors.

When VB Studio creates the default VCN, it also creates these components and adds them to the VCN:

  • An Internet Gateway
  • A Route Table that uses the Internet Gateway as the routing rule
  • Security Rule Ingress rules that allow TCP traffic on:
    • Destination port 22 (SSH), 9003 (Executor agent debug), 9005 (VM agent debug), 9082 (Executor agent), and 9085 (VM agent), and 8095 (Docker Agent), and 9001-9010 from source 0.0.0.0/0 and any source port.
    • Destination port 443 from sources in the 10.0.0.0/16 IP range.
  • A Security Rule that allows Egress to any destination from any protocol.
  • Three public subnets, one for each availability domain. Their CIDR is set to 10.0.0.0/24, 10.0.1.0/24, and 10.0.2.0/24.

Here's an example of the default VCN:

Default VCN

As soon as the default VCN is available, you have full control over it and can modify it. You can add private subnets for your private services, add more public subnets or delete the existing subnets, modify security lists, and add or remove other components.

Note:

  • When a VM executor runs on the default VCN, it runs on any of its available public subnets. You can't specify which subnet it should run on.
  • If you plan to remove some public subnets of the default VCN, make sure that at least one public subnet is available in the VCN. If there are no public subnets, VM executors in the default VCN won't run and your builds will fail.
  • The default VCN is created once and continues to stay until it is deleted manually.
  • If your organization's members configure jobs that access Oracle Cloud services in the private or public subnets of the VCN, ask them to configure their jobs to access the services using private IPs or Fully Qualified Domain Name (FQDN).

Run VM Build Executors in Another Compartment's VCN and Subnets

To allow a VM build executor access your Oracle Cloud services in a compartment's VCN, you should configure the VM executors to run in the same VCN. This allows the VM executor to access Oracle Cloud services easily without any complex networking configuration.

Before you configure the VCN, make a note of these:

  • A VM executor always runs in a public subnet.
  • In the VCN, you must create a public subnet or configure an existing public subnet to allow inbound access from and outbound access to VB Studio. See Create and Configure a Public Subnet in a VCN.
  • Make sure that the public subnet is regional.
  • Instead of modifying an existing security list's security rules, create a new security list for the public subnet.

    For the public subnet, create a security list and add ingress rules from source CIDR 0.0.0.0/0 for VB Studio ports 22 (SSH), 9082 (Executor Agent), and 9085 (VM Agent). This is required to allow VB Studio access the VM executors in the VCN.

  • For the subnet's compartment, assign the use virtual-network-family OCI policy to the user whose OCID you've specified in Set Up the OCI Connection in VB Studio. This is required for networking permissions and builds to run in the VCN's subnet. This statement assigns the policy to the user's group:

    allow group <group-name> to use virtual-network-family in compartment <subnet-compartment-name>

    Here's an example of the use virtual-network-family policy added to the policies you created in Set Up the OCI Account.

    VBStudio policies in OCI
  • Make sure that the VCN has a route table with a rule that allows Internet access.
  • To allow the VM executor to access the VCN's private subnet's services and resources, configure the private subnet's security rules to allow incoming traffic from the public subnet used by the VM executor.
  • While adding a VM executor, you can specify multiple public subnets. If VB Studio can't create the VM executor on the first specified public subnet, it tries to create it in the second subnet, and so on.
  • After configuring a VM executor to run in another compartment's VCN, ask your organization's members to configure their build jobs to use the private IP addresses or the Fully Qualified Domain Name (FQDN) of services that are running in the VCN.

    Tell them not to use public IP addresses, because when VM executors are in the same VCN as the service, public IP addresses will route the traffic outside the VCN, causing builds to fail.

This table describes what you need to do if you have a VCN.

If ... Then :
You have a VCN without a public subnet
  1. Create and Configure a Public Subnet in a VCN.

    You'll also configure the subnet's security list to allow inbound access from and outbound access to VB Studio.

  2. To allow a VM executor access a service running in the private subnet, configure the private subnet's security list. See Allow VM Build Executors to Access a Private Subnet's Resources.
  3. Add and Manage VM Build Executors in the VCN.
You have a VCN with a public subnet
  1. In your VCN, create a security list with ingress rules and egress rules as described in steps 6-11 of Create and Configure a Public Subnet in a VCN.
  2. Open your public subnet's details page and add the security list. See step 14 of Create and Configure a Public Subnet in a VCN.
  3. To allow a VM executor access to services running in the private subnet, configure the private subnet's security list. See Allow VM Build Executors to Access a Private Subnet's Resources.
  4. Add and Manage VM Build Executors in the VCN.
You don't have a VCN and want to create one
  1. Use the VCN wizard to create a VCN with a public subnet and an internet gateway. See Virtual Networking Quickstart.
  2. Create and Configure a Public Subnet in a VCN.

    You'll also configure the subnet's security list to allow inbound access from and outbound access to VB Studio.

  3. To allow a VM executor access to services running in the private subnet, configure the private subnet's security list. See Allow VM Build Executors to Access a Private Subnet's Resources.
  4. Add and Manage VM Build Executors in the VCN.
Create and Configure a Public Subnet in a VCN

Before you can run VMs in another compartment's VCN, you must first create a public subnet in your VCN with security rules that allow inbound access from and outbound access to VB Studio.

  1. Sign in to Oracle Cloud Console.
  2. In the upper-left corner, click Navigation Menu the Menu icon.
  3. Select Networking and select Virtual Cloud Networks.
  4. Under List Scope, select the compartment.
  5. From the VCNs list, click the VCN's name.
  6. Under Resources, click Security Lists, and then click Create Security List.
  7. In Name, enter a name for the security list.
  8. In Create in Compartment, ensure that the correct compartment is selected.
  9. In Allow Rules for Ingress, click + Another Ingress Rule and follow these steps:
    1. In Source Type, select CIDR.
    2. In Source CIDR, enter 0.0.0.0/0.
    3. In Destination Port Range, enter 9082.
    4. (Optional) In Description, add a description.
    5. Click + Another Ingress Rule and repeat steps from 9.a to 9.d to add ports 9085 and 22.
    6. (Only if you are using Docker executors) Click + Another Ingress Rule and repeat steps from 9.a to 9.d to add ports 8095 and 9001-9010 to 0.0.0.0/0 and add port 443 to your VCN CIDR (for example 10.0.0.0/16).
  10. In Allow Rules for Egress, click + Another Egress Rule and follow these steps:
    1. In Source Type, select CIDR.
    2. In Source CIDR, enter 0.0.0.0/0.
    3. In IP Protocol, select All Protocols.
    4. (Optional) In Description, add a description.
  11. Click Create Security List.
    After creating the security list, click its name to verify the ingress and egress rules you added.

    Here's an example of ingress rules:

    Here's an example of the egress rule:

  12. Return to the VCN's details page.
  13. Under Resources, select Subnets and follow these steps to create a public subnet:
    If you want to edit an existing public subnet, jump to the next step.
    1. Click Create Subnet.
    2. In Name, enter the subnet's name.
    3. In Create in Compartment, select the correct compartment.
    4. In Subnet Type, make sure that Regional is selected.
    5. In CIDR Block, enter the subnet's CIDR block.
      Don't set it to 172.17.0.0/16 as it's the default subnet allocated to Docker.
    6. In Route Table, select the VCN's route table.
    7. In Subnet Access, make sure that Public Subnet is selected.
    8. In DHCP Options, select the VCN's DHCP options.
    9. In Security List, select the security list you created in Step 6.
    10. Fill in the other fields as required.
    11. Click Create Subnet.
  14. If you want to edit an existing subnet, follow these steps:
    1. Under Resources, select Subnets and click the public subnet's name.
    2. Click Add Security List.
    3. In the Add Security List dialog box, in Security List, select the security list you created in Step 6.
    4. Click Add Security List.
That's it. After creating or editing the public subnet, your VM executors can now run in the VCN.
Allow VM Build Executors to Access a Private Subnet's Resources

After adding a public subnet in a VCN, to allow VM build executors access the resources and services (such as Java Cloud Service or a VM-based Database) running in the VCN's private subnet, configure the private subnet's security rules to allow incoming traffic from the public subnet used by VM executors.

For example, to allow VM executors access Java Cloud Service running in a private subnet, configure the subnet's security list to add the VM executors CIDR ranges to the Ingress rule associated with the JCS Admin port.

  1. Sign in to Oracle Cloud Console.
  2. In the upper-left corner, click Navigation Menu the Menu icon.
  3. Select Networking and select Virtual Cloud Networks.
  4. On the Virtual Cloud Networks page, click the VCN.
  5. Under Resources, click Security Lists, and then click the private subnet's security list.
  6. Click Add Ingress Rules.
    If you want to modify an existing rule, click the Actions icon (three dots), and then select Edit.
  7. In Source Type, select CIDR.
  8. In Source CIDR, enter the VM executor's public subnet's CIDR range.
  9. In Destination Port Range, enter the service's port number.
  10. (Optional) In Description, add a description.
    Here's an example of Java Cloud Service port 7002 with a source CIDR of 10.0.4.0/24:
  11. Click Add Ingress Rules.
  12. If required, repeat steps from 6 to 11 for each service's port.
VB Studio Public IP Addresses in OCI Data Centers

If you're running VM executors in another compartment's subnet and don't want to use the CIDR 0.0.0.0/0 range in your ingress and egress rules, specify VB Studio's public IP address in the subnet's ingress and egress rules.

For a list of the public IP addresses, see VB Studio Public IP Addresses.

Set Up VB Studio to Run VM Build Executors

To run VM build executors, you'll need to create build executor templates and then add VM executors.

Create and Manage Build Executor Templates

You can create and manage build executor templates from the Virtual Machine Templates tab of the Organization Administration page.

Note:

You can't create or manage executor templates if VB Studio is connected to the built-in free account. If you want to use software that isn't available in the default executor templates, configure VB Studio to connect to your OCI account.

VB Studio offers these executor templates out-of-the-box for your organization to use. You can't modify or delete these executor templates.

Build executor template Description
System Default OL7 for Visual Builder Use this template to package and deploy extensions and visual applications. The template defines these software packages on Oracle Linux 7:
  • Node.js 14
  • Default software packages
System Default OL8 Use this template for build jobs that use the default software packages on Oracle Linux 8.
System Default OL7 Use this template for build jobs that use the default software packages on Oracle Linux 7.

If the above executor templates don't meet your requirements, you can create as many executor templates as required. Executor templates don't consume storage space or increase your cost.

Here's an example of some custom executor templates, along with the system default executor templates.



You can create and manage executor templates from the Build Executor Templates tab on the Organization page:

  1. In the navigation menu, click Organization Organization.
  2. Click the Build Executor Templates tab.

This table describes the actions you can perform to create and manage executor templates.

Action How To

Create a custom executor template

  1. Click + Create Template.
  2. In the New Build Executor Template dialog box, enter a name and description of the executor template. In Platform, select the operating system to run on the VM executor.
  3. Click Create.
  4. Click Configure Software.
  5. If necessary, in Filter, enter the search term and click Search Lens icon.

    To see the latest version of the software package, select the Show latest versions only check box. This is helpful if multiple versions of the same software are available in the catalog.

  6. In the software catalog, select the software package tile's check box to add it. The tile is highlighted in green and the software package adds to the Selected Software list on the right.

    To remove a selected tile, deselect the check box or click Remove this software trash can icon under Selected Software. You can't remove the required software packages that are highlighted in grey.

    If a software package depends on another software package or if there's a conflict between software packages, a message under Selected Software informs you about it.

  7. Click Done.
Configure an executor template’s software
  1. From the executor template list on the left, select the executor template and click Configure Software.
  2. In the software catalog, to search a software package, enter the search term in Filter and click Search Lens icon. To see the latest version of the software package, select the Show latest versions only check box. This is helpful if multiple versions of the same software are available in the catalog.

    To add a software, select the software package tile's check box. The tile is highlighted in green and the software package adds to the Selected Software list on the right.

    To remove a software package, deselect its check box or click Remove this software trash can icon under Selected Software. You can't remove the required software packages that are highlighted in grey.

    If a software package depends on another software package or if there's a conflict between software packages, a message under Selected Software informs you about it.

  3. Click Done.
Edit an executor template's name or description
  1. From the executor template list on the left, select the executor template and click Edit.
  2. In the Edit Build Executor Template dialog box, update the name or description.
  3. Click Save.

Delete an executor template

When you delete an executor template, its VM executors are deleted too.

  1. From the executor template list on the left, select the template.
  2. Click Delete Delete or the Delete button on the right.
  3. In the Delete Build Executor Template dialog box, click Yes to confirm.

Add and Manage VM Build Executors

When you add a VM build executor, you allocate an OCI VM compute instance to run VB Studio builds. You can add and manage VM build executors from the Build Executors tab of the Organization Administration page.

You can't add or manage VM executors if VB Studio is connected to the built-in free account. If you want to add more than one VM executor, configure VB Studio to connect to your OCI account.

A VM executor can run one build at a time. If you expect your organization's members to run builds in parallel jobs that refer to a common executor template, you should add multiple VM executors for that executor template. Note that the more VM executors you have running at a specific time, the higher the cost. To minimize the higher cost, use the Sleep Timeout setting to automatically shut down inactive VM executors.

Here's an example of multiple VM executors using a common executor template.



You add and manage VM executors from the Build Executors tab on the Organization page:

  1. In the navigation menu, click Organization Organization
  2. Click the Build Executors tab.

This table describes the actions you can perform to manage VM executors.

Action How To
Add the free VM build executor in the built-in free account

You can add and use the free VM build executor only if your VB Studio instance is connected to the built-in free account.

The free VM build executor will be automatically created upon creation of the first project in the org. You can also add it by clicking Create Free VM Build Executor on the Build Executors tab.

VB Studio creates the free VM build executor that uses the System Default OL7 for Visual Builder template. You can't change the VM executor's template.

The new VM executor is in the Pending state until you manually start it or trigger a job's build that references the associated executor template.

Find VM executors of an executor template In the search box, enter the executor template's name.
Sort VM executors Click the arrow icon in the column's header to sort VM executors. For example, to sort VM executors by their state, click the arrow icon in the Status column's header.

Add a VM executor in the VB Studio's default VCN

  1. Find VM executors of the executor template you want to use.

    If there are no VM executors of the executor template, jump to Step 2.

    If you find one or more VM executors that use the executor template, get each VM executor's VCN name. If the VCN's name isn't vbs-executor-vcn, click Actions and select Delete to delete the VM executor. You should not add VM executors to different VCNs that use the same executor template.

  2. Click + Create VM.
  3. In the Add VM Build Executor dialog box, in Quantity, specify the number of VM executors you want to create.

    To minimize build execution delays, set the number to the number of jobs that you expect to run in parallel using the template you'll specify in Build Executor Template. If you're not sure, start with one VM executor. You can add more VM executors later, based on your actual usage.

  4. In Build Executor Template, select the executor template.
  5. In Region, select the region that's closer to you geographically.

    The drop-down list displays regions your OCI account is subscribed to.

  6. In Shape, select the VM executor's shape.

    Wait for a few seconds. VB Studio calculates the number of Compute VM instances that can be created of the selected shape and displays it in the dialog box. If the required number of Compute VM instances aren't available, choose another shape.

    Here's an example:



  7. Select the Reserved Public IP that you want to add to the VM executor. You can add one Reserved Public IP to each VM executor.

    An allow listing for your VM executor is possible only if you specify an OCI account by assigning a Reserved Public IP to a build executor. The Reserved Public IP must be defined in the compartment of the specified OCI account.

  8. In VCN Selection, select Default.
  9. Click Add.

The new VM executor is in the Pending state until you manually start it or trigger a job's build that references the associated executor template.

Add a VM executor in another compartment's VCN Before you add a VM executor, make sure you've added a public subnet in the VCN. See Create and Configure a Public Subnet in a VCN.
  1. Find VM executors of the executor template you want to use.

    If there are no VM executors of the executor template, jump to Step 2.

    If you find one or more VM executors that use the executor template, get each VM executor's VCN name. If the VCN's name is different from your VCN, click Actions and select Delete to delete the VM executor. You should not add VM executors to different VCNs that use the same executor template.

  2. Click + Create VM.
  3. In the Add VM Build Executor dialog box, in Quantity, specify the number of VM executors you want to allocate.
  4. In Build Executor Template, select the executor template.
  5. In Region, specify the VM executor's region.
  6. In Shape, select the VM executor's shape.

    Wait for a few seconds. VB Studio calculates the number of Compute VM instances that can be created of the selected shape and displays it in the dialog box. If the required number of VM instances aren't available, choose another shape.

    Here's an example:



  7. Select the Reserved Public IP that you want to add to the VM executor. You can add one Reserved Public IP to each VM executor.

    An allow listing for your VM executor is possible only if you specify an OCI account by assigning a Reserved Public IP to a build executor. The Reserved Public IP must be defined in the compartment of the specified OCI account.

  8. In VCN Selection, select Custom.
  9. In VCN Compartment, select the compartment.

    If you're an Oracle Cloud OS Management Service (OSMS) user, don't select the OSMS compartment or a compartment with an OSMS policy.

  10. In VCN, select the VCN.
  11. In Subnets Compartments, select the compartments where your public subnets are. By default, it adds your VCN's compartment. If required, you can add more compartments.
  12. In Subnets, select a subnet. The list shows public subnets only.

    You can add multiple public subnets. If VB Studio can't create a VM executor on the first subnet you've added, it tries to create it on the second subnet, and so on.

  13. Click Validate Network Setup.
  14. After successful validation, click Add.

The new VM executor is in the Pending state until you manually start it or trigger a job's build that references the associated executor template.

Get the name and IP addresses of a VM executor's VCN subnet.
  1. In the VM executor's Details column, click Show machine detailsDetails.
  2. Note the VCN subnet's name.

    The VM executor's subnet name is displayed only if it's in the Available state. If the VM executor is in the Stopped or the Pending state, click Actions and select Start to start the VM executor.

View a VM executor’s log

The VM executor’s log has entries for all events along with information about when the events occurred, the type of event, and event details.

  1. Select the VM executor, click Actions Actions and select Display Log.
  2. In the Provisioning Log window, review the log.

    To download the log file to your computer, click Download Log.

Start or stop a VM executor manually When a build of a job triggers, its VM executor starts automatically if it was in the stopped state. It takes some time to start a VM executor, and the user must wait for a VM executor to start before the job's build runs on it. Similarly, a VM executor stops automatically if no builds run on it during the sleep timeout period.

At times, you may want to manually start a VM executor before triggering a job's build or stop it to free resources immediately. To start or stop a VM executor, click Actions Actions and select Start or Stop.

To start or stop multiple VM executors, select their check boxes, click Update Selected and select Start selected VMs or Stop selected VMs.

Delete a VM executor

To delete a VM executor, click ActionsActions and select Delete.

If the Delete action doesn't delete the VM executor, you can force a delete using the Force Delete action.

To delete multiple VM executors, select their check boxes, click Update Selected and select Delete selected VMs.

Change the sleep timeout of all VM executors

Set the sleepout time to stop inactive VM executors automatically. By default, it is 30 minutes.

The higher the sleep timeout value, higher will be your cost as inactive VM executors continue to be in the Available state for a longer time. If you don't expect your organization's users to run builds frequently, specify a lower sleep timeout.

When a VM executor starts from the Stopped state, it installs the operating system and all software packages of the executor template. This takes time and your organization's users must wait for the build to start until the VM executor is in the Available state. If you expect your organization's users to run builds frequently, specify a higher sleep timeout value.

  1. Click Sleep Timeout.
  2. In the Sleep Timeout dialog box, change the timeout duration to define how long should a VM executor be in the Available state if no builds run on it.
  3. Click Save.
Reset the VM executor

Use the Try to Reset action if the build executor is stuck in the Error Recoverable status. The Try to Reset action will try to remove all used OCI resources of the VM executor.

To reset a VM executor, click Actions Actions and select Try to reset.

After adding VM executors, you and your organization's members can configure jobs to use executor templates.

Software for Build Executor Templates

VB Studio offers various software packages in the Software Catalog of build executor templates. Some software packages are available by default in each executor template.

Platforms

These platforms are available:

  • Oracle Linux 8
  • Oracle Linux 7 (default)

Default Software Packages

These software packages are available by default in each executor template. You can't edit or remove these software packages from an executor template.

Software Version in Oracle Linux 8 Version in Oracle Linux 7
Oracle Java SE 1.8.x 1.8.x
Ant 1.10.5 (or later) 1.9.15
C++ Compiler (cpp/gcc) 8.5.0 (or later) 4.8.5 (or later)
Git 2.27.x (or later) 2.2.2
Jq 1.5.x (or later) 1.5.x (or later)
Maven 3.6.3 3.6.3
Python2 (including Virtualenv) 2.7.18 (or later) 2.7.5 (or later)

Software Packages in the Software Catalog

Here's a list of the software available in the VB Studio's software catalog. If multiple versions are available, you can add only one version to the executor template.

Software Version in Oracle Linux 8 Version in Oracle Linux 7 Notes
Docker 20.10.12 (or later)

19.03.11 (or later)

17.12.1

 
Findbugs 3.0.1 3.0.1  
Firefox 91.6.0esr (or later) 91.6.0esr (or later)  
Fn NA 0.6.17 Requires Docker and OCIcli.
GraalVM EE for Java 8 21.2.0 21.2.0 For Java 1.8_301 (or later), version 21.2.0 is available.
Gradle 6.7.1 6.7.1  
Groovy 4.0.0 4.0.0  
Helm 3.8.0 3.8.0  
Java SE

17.0.1

16.x

11.x

1.8.x (available by default)

17.0.1

16.x

11.x

1.8.x (available by default)

You can add multiple versions of Java to a build executor template. Ask your users to select the Java version they want to use in a job from the job's configuration page.
JUnit 4 4.12 (or later) 4.11 (or later)  
Kubectl 1.22.0 1.22.0  
Node.js

17.6.0

16.14.0

14.19.0

17.6.0

16.14.0

14.19.0

 
Node.js Driver for Oracle Database 5.3.x (or later) 5.3.x (or later)  
OCIcli 3.5.3 (or later) 3.5.3 (or later) Requires Python3.
Oracle Developer Studio 12c 12.5 12.5 12.5  
Oracle Forms Developer 12.2.1.4.0 12.2.1.4.0  
Oracle Instant Client 12c

19.12.0

21.5.0.0.0 (or later)

19.12.0

21.5.0.0.0 (or later)

 
Oracle JDeveloper Studio

12.2.1.4.0

12.2.1.3.0

11.1.1.7.1

12.2.1.4.0

12.2.1.3.0

11.1.1.7.1

 
Oracle JET Command-line Interface 12.0.0 (or later) 12.0.0 (or later) Requires Node.js
Oracle SOA Suite 12

12.2.1.4.0

12.2.1.3.0

12.2.1.4.0

12.2.1.3.0

 
Packer 1.7.10 1.7.10  
PSMcli 1.1.28 1.1.28 Requires Python3.
Python3

3.9.10

3.8.12

3.7.12

3.9.10

3.8.12

3.7.12

To invoke virtualization for your environment, run this command: python3 -m venv <env_name>

Ruby 2.5.9p229 (or later) 2.0.0p648 (or later)  
SQLcl

21.4.1.0

21.4.1.0 (or later)

 
Terraform 1.1.6 (or later) 1.1.6 (or later)  
Xvfb 1.20.11 (or later) 1.20.4 (or later)  

Set Up VB Studio to Run Builds on Docker Executors

In VB Studio, you can run builds on Docker executors. You can import Docker images from your private or public Docker registry or create them from build executor templates. You can then deploy these images on VB Studio's Docker deployment VMs.

Add Your First Docker Deployment VM

If you haven't configured VB Studio to add VM executors, you can add your first Docker deployment VM from the Organization page's Build Executors tab.

Note:

If you have created a VCN for your VM executors, make sure that you have the VCN configured to support Docker executors. For instructions, see Use VB Studio's Default VCN or Create and Configure a Public Subnet in a VCN for a custom VCN.

  1. Configure VB Studio to connect to your OCI account.
  2. In the navigation menu, click Organization Organization.
  3. Click the Build Executors tab.
  4. In the Custom Docker Executor tile, click Create Docker Executor.

  5. Add details to the Add VMs for Creating Docker Executors dialog:
    1. Number of VMs: Specify the number of Docker deployment VMs you want to create.
      The number you specify doesn't include the Docker Management VM. For example, if you specify 4 in Number of VMs, VB Studio will create five VMs: four Docker deployment VMs and one Docker Management VM.
    2. Executors created per VM: Enter the maximum number of Docker executors you want to deploy in each Docker deployment VM.
    3. Region: Select the region that's closer to you geographically.
      The drop-down list displays regions your OCI account is subscribed to.
    4. Shape: Select the Docker executor's shape.

      As this is your first Docker deployment VM, the Docker Management VM is also created with the same shape. Choose a shape with at least two OCPUs and 16 GB of RAM.

      After selecting the shape, wait for a few seconds. VB Studio calculates the number of Compute VM instances that can be created with the selected shape and displays it in the dialog box. If the required number of Compute VM instances aren't available, choose another shape.
    5. Volume: Specify the storage capacity for each Docker deployment VM.
    6. Number of OCPUs: If you've selected a Flex shape, specify the number of OCPUs to add in each Docker deployment VM.
    7. Amount of Memory: If you've selected a Flex shape, specify each Docker deployment VM's memory.
    8. Use only for project(s): (Optional) Select one or more projects to assign to this Docker deployment VM. After the Docker deployment VM is created, it will be restricted to running builds for the assigned projects. Builds for these projects will only run on this VM, and builds from other projects won't run on this VM.
  6. For VCN Select, choose Default or Custom.
    • If you chose Default, click Create. You are finished with this task.
    • If you chose Custom, continue to the next step.
  7. Fill out the additional details for the custom VCN:
    1. VCN Compartment: Select the compartment.
      If you're an Oracle Cloud OS Management Service (OSMS) user, don't select the OSMS compartment or a compartment with an OSMS policy.
    2. VCN: Select the VCN.
    3. Subnets Compartments: Select the compartments where your public subnets are. By default, it adds your VCN's compartment. If required, you can add more compartments.
    4. Subnets: Select a subnet. The list shows public subnets only.
      You can add multiple public subnets. If VB Studio can't create a Docker executor on the first subnet you've added, it tries to create it on the second subnet, and so on.
  8. Click Validate Network Setup.
  9. Click Create.

Migrate to Docker

If you've created one or more VM executors and want to use Docker executors to run builds, you can migrate those VM executors to Docker.

You can choose to run builds for your organization on either VM executors or on Docker executors; you can't choose both. If the builds in your organization are already running on VM executors, you can migrate to Docker, and all builds in your organization going forward will use Docker executors.

When you perform a Docker migration, all of your VM executors are destroyed and recreated in Docker as images, separate from deployment VMs. If you want to revert back to VM executors, you will perform a reset that destroys all the Docker images and deployment VMs. You will then have to recreate your VM executors manually, so be sure to capture the details of your current VM executors before performing a migration in case you need to reset and go back.

Note:

If you have VM executors that specify different custom VCNs, you must capture the details of all of the custom VCNs before migrating to Docker. The migration dialog will only let you choose one VCN, and you will need to recreate the deployment VMs with the details of your other custom VCNs.
  1. If you're using the free VM build executor or are connected to the OCI free tier account, configure VB Studio to connect to your OCI account.
  2. In the navigation menu, click Organization Organization.
  3. Click the Build Executors tab.
  4. Capture details for your current VM executors in case you want to revert back from Docker executors to VM executors.
    1. To capture ID, template, and shape information, copy the contents of the Build Executors table and paste to a text file.
    2. To capture the contents of the Details column, click Show machine details Details for each VM executor, copy the VM Build Executor Configuration details, and paste to a text file.
  5. Click Migrate to Docker.
  6. In the Do you want us to re-create your VM executors as Docker images dialog, enter the required details.
    1. In Number of VMs, specify the number of Docker deployment VMs you want to create.
      The number you specify doesn't include the Docker Management VM. For example, if you specify 4 in Number of VMs, VB Studio will create five VMs: four Docker deployment VMs and one Docker Management VM.
    2. In Executors created per VM, enter the number of Docker executors you want in each Docker deployment VM.
    3. In Region, select the region that's closer to you geographically.
      The drop-down list displays regions your OCI account is subscribed to.
    4. In Shape, select the Docker deployment VM's shape.

      As this is your first Docker deployment VM, the Docker Management VM is also created with the same shape. For the image management VM's optimum performance, select a shape with at least 2 OCPUs and 16 GB memory.

      Wait for a few seconds. VB Studio calculates the number of Compute VM instances that can be created with the selected shape and displays it in the dialog box. If the required number of Compute VM instances aren't available, choose another shape.
    5. In Volume, specify the storage capacity for each Docker deployment VM.
    6. If you've selected a Flex shape, then in Number of OCPUs, specify the number of OCPUs to add in each Docker deployment VM.
    7. If you've selected a Flex shape, then in Amount of Memory, specify each Docker deployment VM's memory.
  7. For VCN Select, choose Default or Custom.
    • If you chose Default, click Migrate. You are finished with this task.
    • If you chose Custom, continue to the next step.
  8. Fill out the additional details for the custom VCN:
    1. VCN Compartment: Select the compartment.
      If you're an Oracle Cloud OS Management Service (OSMS) user, don't select the OSMS compartment or a compartment with an OSMS policy.
    2. VCN: Select the VCN.
    3. Subnets Compartments: Select the compartments where your public subnets are. By default, it adds your VCN's compartment. If required, you can add more compartments.
    4. Subnets: Select a subnet. The list shows public subnets only.
      You can add multiple public subnets. If VB Studio can't create a Docker executor on the first subnet you've added, it tries to create it on the second subnet, and so on.
  9. Click Validate Network Setup.
  10. Click Migrate.

Create and Manage Docker Images

In VB Studio, you can import a Docker image from an external Docker registry or create a Docker image from a build executor template.

You will need to configure VB Studio to connect to your OCI account before you can proceed. See Set Up the OCI Connection in VB Studio.

Note:

You can't create or manage Docker images if VB Studio is connected to the built-in free account.

VB Studio provides out-of-the-box base Docker images for your organization's users. You can't modify or delete these Docker images, and they can't be used for building your job. These base images are used to create Docker images from Docker build executor templates.

Docker image Description
System Base OL7 Oracle Linux 7 base image with required software packages
System Base OL8 Oracle Linux 8 base image with required software packages

You can create and manage Docker images from the Build Executors tab on the Organization page.

  1. In the navigation menu, click Organization Organization.
  2. Click the Build Executors tab.
  3. Click the Docker Images tab.

This table describes the actions you can perform to create and manage Docker images.

Action How To

Import a Docker image from an external Docker registry

  1. Click Create Image and select Create Image from Registry.

  2. In the Add Custom Docker Image dialog box, in Name, enter the image's name.

  3. In Registry Host, enter the Docker registry's host name.
  4. In Username and Password, enter the credentials of the users who can access the registry. If it's a public registry, leave the fields empty.
  5. In Image Name, enter the Docker image's name to be imported.
  6. In Version Tag, specify the Docker image's tag
  7. In Max Executors, specify the maximum number of executors to be created from the imported image.
  8. Click Add.
Create a Docker image from an executor template

You can create only one Docker image from an executor template.

  1. Click Create Image and select Create Image from Build Executor Template.
  2. From the Build Executor Template drop-down list, select the executor template.
  3. In Max Executors, specify the maximum number of executors to be created from the image.
  4. Click Save.
Change a Docker image's executor template Click Action Three horizontal dots and select Edit. In Build Executor Template, change the template and click Save.
Change a Docker image's maximum executors Click Action Three horizontal dots and select Edit. In Max Executors, change the number of executors and click Save.
Re-create a Docker image Click Action Three horizontal dots and Recreate Image. In the confirmation dialog box, click OK.
View a Docker image's log Click Action Three horizontal dots and select Show Log.

Delete a Docker image

Click Action Three horizontal dots and select Delete. In the Delete Docker Image dialog box, click Delete.

Add and Manage Docker Deployment VMs

You can add and manage Docker deployment VMs from the Organization Administration page's Build Executors tab.

Note:

You can't add or manage Docker deployment VMs if VB Studio is connected to the built-in free account. If you want to add Docker deployment VMs, you'll need to configure VB Studio to connect to your OCI account.
  1. In the navigation menu, click Organization Organization.
  2. Click the Build Executors tab.
  3. Click the VM Pool tab and follow one of these procedures:
Add Docker Deployment VMs

When you add a Docker deployment VM, you allocate an OCI VM compute instance to run your builds in Docker executors.

  1. From the VM Pool tab, click + Add VMs.
  2. Add details to the Creating Docker Executors dialog:
    1. Number of VMs: Specify the number of Docker deployment VMs you want to create.
    2. Executors created per VM: Enter the maximum number of Docker executors you want to deploy in each Docker deployment VM.
    3. Region: Select the same region that you chose for the Management VM in Step 5c of Add Your First Docker Deployment VM.
      The drop-down list displays regions your OCI account is subscribed to.
    4. Shape: Select the Docker executor's shape.
      Wait for a few seconds. VB Studio calculates the number of Compute VM instances that can be created with the selected shape and displays it in the dialog box. If the required number of Compute VM instances aren't available, choose another shape.
    5. Volume: Specify the storage capacity for each Docker deployment VM.
    6. Number of OCPUs: If you've selected a Flex shape, specify the number of OCPUs to add in each Docker deployment VM.
    7. Amount of Memory: If you've selected a Flex shape, specify each Docker deployment VM's memory.
    8. Use only for project(s): (Optional) Select one or more projects to assign to this Docker deployment VM. After the Docker deployment VM is created, it will be restricted to running builds for the assigned projects. Builds for these projects will only run on this VM, and builds from other projects won't run on this VM.
  3. For VCN Select, choose Default or Custom.
    • If you chose Default, click Create. You are finished with this task.
    • If you chose Custom, continue to the next step.
  4. Fill out the additional details for the custom VCN:
    1. VCN Compartment: Select the compartment.
      If you're an Oracle Cloud OS Management Service (OSMS) user, don't select the OSMS compartment or a compartment with an OSMS policy.
    2. VCN: Select the VCN.
    3. Subnets Compartments: Select the compartments where your public subnets are. By default, it adds your VCN's compartment. If required, you can add more compartments.
    4. Subnets: Select a subnet. The list shows public subnets only.
      You can add multiple public subnets. If VB Studio can't create a Docker executor on the first subnet you've added, it tries to create it on the second subnet, and so on.
  5. Click Validate Network Setup.
  6. Click Create.
Manage Docker VMs

You can view, start, stop, or delete a Docker deployment VM,view the VM log from the Organization Administration page's Build Executors tab, or show available resources for the VM. You can also reset, view the log, or show available resources for the Docker management VM.

From the VM Pool tab, choose one of the actions shown in the following table:

Action How To
View a Docker deployment VM’s or Docker management VM's log Click Action Three horizontal dots and select Show Log. In the Docker Executor VM Log window, review the log.
Start or stop a Docker deployment VM Click Action Three horizontal dots and select Start or Stop.
Delete a Docker deployment VM Click Action Three horizontal dots and select Delete. In the confirmation dialog box, click OK.
Reset a Docker management VM Click Action Three horizontal dots and select Reset. In the confirmation dialog box, click OK
View and clean up VM resources Click Action Three horizontal dots and select Show Resources.. For more information, see Manage Docker VM Resources.
View the projects associated with a restricted Docker deployment VM. In the Restricted column, hover over Show restricted projects to view the projects associated with the VM.
Manage Docker VM Resources

You can view the total disk usage available for a Docker Management VM or Docker Deployment VM and delete images or containers to free up disk space.

For a quick look at the disk usage for a Docker VM, hover over the Disk Usage bar to view usage percentage, GB used, total GB available, and the date that the data was last updated.



The data on this page is only updated every hour or so. For real time usage and additional detail, view the Resources page for the VM.

To view the Resources page for a Docker VM, click Three horizontal dots and select Show Resources.



Note:

If you are viewing Docker Management VM resources, you will see the Internal Registry Size instead of the Builds Workspace Size.

From here you can view total disk usage for the VM, as well as usage for individual images and containers.

The following table describes actions you can take to free disk space.

Action How To
Delete an individual image (for Docker deployment VMs). In the Images tab, click the trash can next to the image.
Free disk space by removing images that are no longer in use. In the Images tab, click the Clean Images/Free Diskspace button at the bottom.

Reset Docker and Move to VM Build Executors

If you want to run your organization's builds on VM build executor, you can reset Docker on the Management VM from the Organization page's Build Executors tab.

Note:

If you reset Docker, all of your VMs and images will be destroyed and your VM executors will need to be created from scratch. Capture the details of your images and deployment VMs before you begin so they can be recreated manually when you switch to VM executors.
  1. In the navigation menu, click Organization Organization.
  2. Click the Build Executors tab.
  3. Click the VM Pool tab.
  4. For the Management VM, click Three horizontal dots and select Reset.
  5. In the Delete Docker Deployment VM dialog box, click OK.
When you've finished with the migration, you will need to create the VM build executors. See Add and Manage VM Build Executors.

Add Users to IDCS

To add users to VB Studio and its projects, make sure they are added to IDCS and assigned appropriate VB Studio roles.

If you want to federate with your existing identity provider, see Federating with Identity Providers.

To add users manually to IDCS, follow these steps:

  1. 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, click the identity service provider's link.
  5. On the Identity Provider Details page, click Create IDCS User.
  6. In the Create IDCS User dialog box, enter the new user's details and click Create.
  7. To send the password reset instructions and URL to the new user, click Email Password Instructions.
  8. Click close.
  9. On the Identity Provider Details page, click the user's IDCS Username link.
  10. On the User Details page, click Manage Service Roles.
  11. On the Manage Service Roles page, search for the service with Developer Cloud Service description, click the Actions icon (three dots) and select Manage Instance Access.
  12. On the Manage Access page, in the Instance Role column, select the role you want to grant to the user. A user must be assigned one of these two roles to access VB Studio.
    This VB Studio role... Enables a user to:
    DEVELOPER_ADMINISTRATOR Set up VB Studio, manage all projects, manage VM executors and executor templates, and update the organization details. The user with this role is also called the Organization Administrator.

    Assign this role role to users who can administer VB Studio.

    DEVELOPER_USER Create and access VB Studio projects. All non-admin users of VB Studio must be assigned this role.

    Note that this role doesn't allow the user to update the organization details.

  13. Click Save Instance Settings.
  14. On the Manage Service Roles page, click Apply Role Settings.

For more details about adding users to IDCS and assigning them roles, see Managing Oracle Identity Cloud Service Users in the Console and Managing Instance Roles in the Console.